From 6ed49fb61521000957b9768d059124981ec559cb Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 3 Jun 2023 21:19:20 -0400 Subject: add level validation --- src/devmenu/LevelEditor.java | 26 +++++++++++++++++++------- src/devmenu/LevelList.java | 11 +++++++++-- 2 files changed, 28 insertions(+), 9 deletions(-) (limited to 'src/devmenu') diff --git a/src/devmenu/LevelEditor.java b/src/devmenu/LevelEditor.java index a00ce57..9e65a0c 100644 --- a/src/devmenu/LevelEditor.java +++ b/src/devmenu/LevelEditor.java @@ -6,8 +6,12 @@ import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ColorPicker; +import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; import javafx.scene.control.TextField; +import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.text.Text; @@ -71,10 +75,19 @@ public class LevelEditor Text diffLabel = new Text("Difficulties"); - ObservableList diffList2 = FXCollections.observableArrayList(); - diffList2.addAll(level.getDiffList()); - ListView diffList = new ListView(); - diffList.setItems(diffList2); + TableView diffList = new TableView(); + + TableColumn diffCol = new TableColumn("Difficulty"); + TableColumn validCol = new TableColumn("Valid?"); + + diffList.getColumns().add(diffCol); + diffList.getColumns().add(validCol); + + diffCol.setCellValueFactory(new PropertyValueFactory("title")); + validCol.setCellValueFactory(new PropertyValueFactory("valid")); + + diffList.setItems(level.getDiffList()); + Button edit = new Button("Edit"); edit.setOnAction(e -> new DiffEditor(diffList.getSelectionModel().getSelectedItem())); @@ -84,9 +97,8 @@ public class LevelEditor Button refresh = new Button("Refresh"); refresh.setOnAction(e -> { - diffList2.clear(); - diffList2.addAll(level.getDiffList()); - diffList.setItems(diffList2); + level.readData(); + diffList.setItems(level.getDiffList()); }); HBox buttons = new HBox(); diff --git a/src/devmenu/LevelList.java b/src/devmenu/LevelList.java index 7eaca84..7087472 100644 --- a/src/devmenu/LevelList.java +++ b/src/devmenu/LevelList.java @@ -29,14 +29,18 @@ public class LevelList TableColumn titleCol = new TableColumn("Title"); TableColumn artistCol = new TableColumn("Artist"); + TableColumn validCol = new TableColumn<>("Valid?"); levels.getColumns().add(titleCol); levels.getColumns().add(artistCol); + levels.getColumns().add(validCol); titleCol.setCellValueFactory(new PropertyValueFactory("title")); artistCol.setCellValueFactory(new PropertyValueFactory("artist")); + validCol.setCellValueFactory(new PropertyValueFactory("valid")); + + levels.setItems(LevelController.getLevelList()); - levels.setItems(LevelController.levelList); Button edit = new Button("Edit"); edit.setOnAction(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem())); @@ -45,7 +49,10 @@ public class LevelList remove.setOnAction(e -> gui.Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem())); Button refresh = new Button("Refresh"); - refresh.setOnAction(e -> levels.setItems(LevelController.levelList)); + refresh.setOnAction(e -> { + Driver.levelController.readData(); + levels.setItems(LevelController.getLevelList()); + }); HBox buttons = new HBox(); buttons.getChildren().addAll(edit,remove,refresh); -- cgit v1.2.3