From 48bfed142f7175809a43037fb695b6fcdc4146b1 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 1 Jun 2023 11:38:04 -0400 Subject: finish gui level editor --- src/devmenu/LevelList.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/devmenu/LevelList.java') diff --git a/src/devmenu/LevelList.java b/src/devmenu/LevelList.java index e3dec7f..66ff797 100644 --- a/src/devmenu/LevelList.java +++ b/src/devmenu/LevelList.java @@ -39,6 +39,9 @@ public class LevelList levels.setItems(Driver.levelController.levelList); levels.setOnMouseClicked(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem())); + Button refresh = new Button("Refresh"); + refresh.setOnAction(e -> levels.setItems(Driver.levelController.levelList)); + TextField newLevel = new TextField("new"); Button newLevelButton = new Button("add"); newLevelButton.setOnAction(e -> Driver.levelController.addLevel(newLevel.getText())); @@ -46,7 +49,7 @@ public class LevelList newLevelBox.getChildren().addAll(newLevel,newLevelButton); VBox main = new VBox(); - main.getChildren().addAll(levels,newLevelBox); + main.getChildren().addAll(levels,refresh,newLevelBox); Scene scene = new Scene(main); primaryStage.setScene(scene); primaryStage.show(); -- cgit v1.2.3 From 4e43d6f020d908ccd9b8a6b77803cac943da00ed Mon Sep 17 00:00:00 2001 From: sowgro Date: Fri, 2 Jun 2023 00:48:13 -0400 Subject: Finish levelUtility and project cleanup --- src/devmenu/LevelList.java | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'src/devmenu/LevelList.java') diff --git a/src/devmenu/LevelList.java b/src/devmenu/LevelList.java index 66ff797..7eaca84 100644 --- a/src/devmenu/LevelList.java +++ b/src/devmenu/LevelList.java @@ -1,13 +1,6 @@ package devmenu; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; - import gui.Driver; -import javafx.beans.value.ChangeListener; -import javafx.beans.value.ObservableValue; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TableColumn; @@ -18,10 +11,17 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; import main.Level; +import main.LevelController; public class LevelList { Stage primaryStage = new Stage(); + + /* + * this class is a layout class, most of its purpose is to place UI elements like Buttons within Panes like VBoxes. + * the creation of these UI elements are mostly not commented due to their repetitive and self explanatory nature. + * style classes are defined in the style.css file. + */ public LevelList() { //sets up table view: requires special getters, setters and constructors to work @@ -36,11 +36,19 @@ public class LevelList titleCol.setCellValueFactory(new PropertyValueFactory("title")); artistCol.setCellValueFactory(new PropertyValueFactory("artist")); - levels.setItems(Driver.levelController.levelList); - levels.setOnMouseClicked(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem())); + levels.setItems(LevelController.levelList); + + Button edit = new Button("Edit"); + edit.setOnAction(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem())); + + Button remove = new Button("Delete"); + remove.setOnAction(e -> gui.Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem())); Button refresh = new Button("Refresh"); - refresh.setOnAction(e -> levels.setItems(Driver.levelController.levelList)); + refresh.setOnAction(e -> levels.setItems(LevelController.levelList)); + + HBox buttons = new HBox(); + buttons.getChildren().addAll(edit,remove,refresh); TextField newLevel = new TextField("new"); Button newLevelButton = new Button("add"); @@ -49,7 +57,7 @@ public class LevelList newLevelBox.getChildren().addAll(newLevel,newLevelButton); VBox main = new VBox(); - main.getChildren().addAll(levels,refresh,newLevelBox); + main.getChildren().addAll(levels,buttons,newLevelBox); Scene scene = new Scene(main); primaryStage.setScene(scene); primaryStage.show(); -- cgit v1.2.3