aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-08-29 21:51:14 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-08-29 21:51:14 -0400
commitfb70a24c04a5beec6cc7ff9248ef8f5fd46fcc87 (patch)
tree8f9610d0da1301d6b5e82903418aaf0459cf8666 /src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java
parent7a3aa914a7a64952dd0e134cd998d0cf0e445b4f (diff)
downloadNPEhero-fb70a24c04a5beec6cc7ff9248ef8f5fd46fcc87.tar.gz
NPEhero-fb70a24c04a5beec6cc7ff9248ef8f5fd46fcc87.tar.bz2
NPEhero-fb70a24c04a5beec6cc7ff9248ef8f5fd46fcc87.zip
Implement new create dialog
Diffstat (limited to 'src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java')
-rw-r--r--src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java b/src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java
new file mode 100644
index 0000000..f2245a8
--- /dev/null
+++ b/src/main/java/net/sowgro/npehero/editor/FolderNameEntry.java
@@ -0,0 +1,62 @@
+package net.sowgro.npehero.editor;
+
+import javafx.geometry.Insets;
+import javafx.geometry.Pos;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.VBox;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Page;
+
+public class FolderNameEntry extends Page {
+ private final HBox content = new HBox();
+
+ public interface StringToVoidLambda {
+ void run(String name);
+ }
+
+ public FolderNameEntry(String itemType, Page prev, StringToVoidLambda next) {
+
+ Label newLevelLabel = new Label("Name of new "+itemType);
+ TextField newLevelEntry = new TextField();
+
+ Label folderName = new Label("Folder name");
+ TextField folderNameEntry = new TextField();
+ folderNameEntry.setEditable(false);
+ folderNameEntry.setDisable(true);
+
+ newLevelEntry.setOnKeyTyped(_ -> {
+ folderNameEntry.setText(newLevelEntry.getText().toLowerCase().replaceAll("\\W+", "-"));
+ });
+
+ VBox newLevelBox = new VBox(newLevelLabel, newLevelEntry, folderName, folderNameEntry);
+ newLevelBox.setSpacing(10);
+ newLevelBox.getStyleClass().add("box");
+ newLevelBox.setPadding(new Insets(10));
+ newLevelBox.setPrefWidth(400);
+
+ Button newLevelButton = new Button("Create");
+ newLevelButton.setOnAction(_ -> next.run(newLevelEntry.getText()));
+
+ Button cancel = new Button("Cancel");
+ cancel.setOnAction(_ -> Driver.setMenu(prev));
+
+ HBox buttonBox = new HBox(cancel, newLevelButton);
+ buttonBox.setSpacing(10);
+
+ VBox centerBox = new VBox();
+ centerBox.getChildren().addAll(newLevelBox, buttonBox);
+ centerBox.setSpacing(10);
+ centerBox.setAlignment(Pos.CENTER);
+
+ content.getChildren().add(centerBox);
+ content.setAlignment(Pos.CENTER);
+ }
+
+ @Override
+ public HBox getContent() {
+ return content;
+ }
+}