aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/sowgro/npehero/devmenu
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-07-08 14:49:30 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-07-08 14:49:30 -0400
commitcf8f3d35716cd93d0d5d123d80b07f9ae704f939 (patch)
treee5bb4a40bec2d22d5f75ea95ba7745fc749affa8 /src/main/java/net/sowgro/npehero/devmenu
parentee2229339429d50afa33e2f8b9c0ee0939766290 (diff)
downloadNPEhero-cf8f3d35716cd93d0d5d123d80b07f9ae704f939.tar.gz
NPEhero-cf8f3d35716cd93d0d5d123d80b07f9ae704f939.tar.bz2
NPEhero-cf8f3d35716cd93d0d5d123d80b07f9ae704f939.zip
Embed level utility into main window
Diffstat (limited to 'src/main/java/net/sowgro/npehero/devmenu')
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/DiffEditor.java10
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/LevelEditor.java20
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/LevelList.java10
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/devmenu/NotesEditor.java12
4 files changed, 25 insertions, 27 deletions
diff --git a/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
index d4ebb02..4bb55e4 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
@@ -3,6 +3,7 @@ package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
+import javafx.scene.layout.Pane;
import net.sowgro.npehero.Driver;
import net.sowgro.npehero.gui.LevelSurround;
import net.sowgro.npehero.gui.MainMenu;
@@ -14,7 +15,7 @@ import javafx.scene.text.Text;
import javafx.stage.Stage;
import net.sowgro.npehero.main.Difficulty;
-public class DiffEditor
+public class DiffEditor extends Pane
{
/*
* this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes.
@@ -72,8 +73,9 @@ public class DiffEditor
VBox main = new VBox();
main.getChildren().addAll(folderNameLabel,folderName,titleLabel,title,bpmLabel,bpm,numBeatsLabel,numBeats,refresh,priorityLabel,priority,editNotes,editScores,playLevel,save);
- Scene scene = new Scene(main);
- primaryStage.setScene(scene);
- primaryStage.show();
+// Scene scene = new Scene(main);
+// primaryStage.setScene(scene);
+// primaryStage.show();
+ super.getChildren().add(main);
}
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
index 94fcc16..bd8bde6 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
@@ -11,15 +11,17 @@ import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.stage.FileChooser.ExtensionFilter;
+import net.sowgro.npehero.Driver;
import net.sowgro.npehero.main.Difficulty;
import net.sowgro.npehero.main.Level;
-public class LevelEditor
+public class LevelEditor extends Pane
{
private File selectedSong = null;
private File selectedPreview = null;
@@ -32,8 +34,6 @@ public class LevelEditor
*/
public LevelEditor(Level level)
{
- Stage primaryStage = new Stage();
-
Text folderNameLabel = new Text("Folder name");
TextField folderName = new TextField(level.thisDir.getName());
folderName.setDisable(true);
@@ -59,17 +59,17 @@ public class LevelEditor
FileChooser backgroundChooser = new FileChooser();
backgroundChooser.getExtensionFilters().add(new ExtensionFilter("PNG", "*.png"));
Button backgroundButton = new Button("Import background PNG");
- backgroundButton.setOnAction(e -> {selectedBackground = backgroundChooser.showOpenDialog(primaryStage);});
+ backgroundButton.setOnAction(e -> {selectedBackground = backgroundChooser.showOpenDialog(Driver.primaryStage);});
FileChooser previewChooser = new FileChooser();
previewChooser.getExtensionFilters().add(new ExtensionFilter("PNG", "*.png"));
Button previewButton = new Button("Import preview PNG");
- previewButton.setOnAction(e -> {selectedPreview = previewChooser.showOpenDialog(primaryStage);});
+ previewButton.setOnAction(e -> {selectedPreview = previewChooser.showOpenDialog(Driver.primaryStage);});
FileChooser songChooser = new FileChooser();
songChooser.getExtensionFilters().add(new ExtensionFilter("WAV", "*.wav"));
Button songButton = new Button("Import song WAV");
- songButton.setOnAction(e -> selectedSong = songChooser.showOpenDialog(primaryStage));
+ songButton.setOnAction(e -> selectedSong = songChooser.showOpenDialog(Driver.primaryStage));
Text diffLabel = new Text("Difficulties");
@@ -88,7 +88,7 @@ public class LevelEditor
Button edit = new Button("Edit");
- edit.setOnAction(e -> new DiffEditor(diffList.getSelectionModel().getSelectedItem()));
+ edit.setOnAction(e -> Driver.setMenu(new DiffEditor(diffList.getSelectionModel().getSelectedItem())));
Button remove = new Button("Delete");
remove.setOnAction(e -> level.removeDiff(diffList.getSelectionModel().getSelectedItem()));
@@ -142,9 +142,7 @@ public class LevelEditor
HBox mainBox = new HBox();
mainBox.getChildren().addAll(options,diffBox);
-
- Scene scene = new Scene(mainBox);
- primaryStage.setScene(scene);
- primaryStage.show();
+
+ super.getChildren().add(mainBox);
}
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/devmenu/LevelList.java b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
index 8d5e0cb..c1c38af 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
@@ -2,6 +2,7 @@ package net.sowgro.npehero.devmenu;
import javafx.beans.property.ReadOnlyBooleanWrapper;
import javafx.beans.property.ReadOnlyStringWrapper;
+import javafx.scene.layout.Pane;
import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
@@ -14,7 +15,7 @@ import javafx.stage.Stage;
import net.sowgro.npehero.main.Level;
import net.sowgro.npehero.main.LevelController;
-public class LevelList
+public class LevelList extends Pane
{
/*
* this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes.
@@ -42,7 +43,7 @@ public class LevelList
Button edit = new Button("Edit");
- edit.setOnAction(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem()));
+ edit.setOnAction(e -> Driver.setMenu(new LevelEditor(levels.getSelectionModel().getSelectedItem())));
Button remove = new Button("Delete");
remove.setOnAction(e -> Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem()));
@@ -64,9 +65,6 @@ public class LevelList
VBox main = new VBox();
main.getChildren().addAll(levels,buttons,newLevelBox);
- Scene scene = new Scene(main, 400, 400);
- Stage primaryStage = new Stage();
- primaryStage.setScene(scene);
- primaryStage.show();
+ super.getChildren().add(main);
}
} \ No newline at end of file
diff --git a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
index 25b21f1..39a2b8e 100755
--- a/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
@@ -3,6 +3,8 @@ package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
+
+import javafx.scene.layout.Pane;
import net.sowgro.npehero.gameplay.Timer;
import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
@@ -13,7 +15,7 @@ import javafx.scene.text.Text;
import javafx.stage.Stage;
import net.sowgro.npehero.main.Difficulty;
-public class NotesEditor
+public class NotesEditor extends Pane
{
Text help;
String t1 = "Press Start to begin recording. Use the same keys. Note: existing notes will be overwitten.";
@@ -39,13 +41,11 @@ public class NotesEditor
VBox main = new VBox();
main.getChildren().addAll(help,cur,start,stop);
- Scene scene = new Scene(main);
- Stage primaryStage = new Stage();
- primaryStage.setScene(scene);
- primaryStage.show();
+ super.getChildren().add(main);
writer = new PrintWriter(diff.notes, "UTF-8");
+ Scene scene = Driver.primaryStage.getScene();
scene.setOnKeyPressed(e -> {
if (e.getCode() == KeyCode.D) {
writer.println("d"+timer);
@@ -73,7 +73,7 @@ public class NotesEditor
}
});
- primaryStage.setOnCloseRequest(e -> stop());
+ Driver.primaryStage.setOnCloseRequest(e -> stop());
}
private void start()