diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-08-30 12:23:26 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-08-30 12:23:26 -0400 |
commit | 69f69143f5604626ded3c26ee754b94eaf3c4f15 (patch) | |
tree | a64a1ce20ff21cd6d73b1d36c3e3f9ca930c9b4d /src/main/java/net/sowgro/npehero/editor | |
parent | aa916b0f06be0d42bec1e035d0efeec954e09243 (diff) | |
download | NPEhero-69f69143f5604626ded3c26ee754b94eaf3c4f15.tar.gz NPEhero-69f69143f5604626ded3c26ee754b94eaf3c4f15.tar.bz2 NPEhero-69f69143f5604626ded3c26ee754b94eaf3c4f15.zip |
Clean up error handling pt.1
Diffstat (limited to 'src/main/java/net/sowgro/npehero/editor')
6 files changed, 12 insertions, 176 deletions
diff --git a/src/main/java/net/sowgro/npehero/editor/DiffEditor.java b/src/main/java/net/sowgro/npehero/editor/DiffEditor.java index 77e5fa9..6485a4d 100755 --- a/src/main/java/net/sowgro/npehero/editor/DiffEditor.java +++ b/src/main/java/net/sowgro/npehero/editor/DiffEditor.java @@ -72,7 +72,6 @@ public class DiffEditor extends Page try { diff.leaderboard.save(); } catch (IOException e) { - e.printStackTrace(); Driver.setMenu(new ErrorDisplay("Failed to clear the leaderboard:\n"+e, this)); } }); @@ -97,7 +96,6 @@ public class DiffEditor extends Page try { diff.writeMetadata(); } catch (IOException e) { - e.printStackTrace(); //TODO throw new RuntimeException(e); } diff --git a/src/main/java/net/sowgro/npehero/editor/DiffList.java b/src/main/java/net/sowgro/npehero/editor/DiffList.java index e435b22..7106609 100755 --- a/src/main/java/net/sowgro/npehero/editor/DiffList.java +++ b/src/main/java/net/sowgro/npehero/editor/DiffList.java @@ -11,6 +11,8 @@ import javafx.scene.layout.VBox; import net.sowgro.npehero.Driver; import net.sowgro.npehero.levelapi.Difficulty; import net.sowgro.npehero.levelapi.Level; +import net.sowgro.npehero.main.ErrorDisplay; +import net.sowgro.npehero.main.ErrorList; import net.sowgro.npehero.main.Page; import net.sowgro.npehero.main.Sound; @@ -84,8 +86,7 @@ public class DiffList extends Page try { level.difficulties.remove(diffs.getSelectionModel().getSelectedItem()); } catch (IOException ex) { - ex.printStackTrace(); - Driver.setMenu(new ErrorDisplay("Failed to remove difficulty\n"+e, this)); + Driver.setMenu(new ErrorDisplay("Failed to remove difficulty", ex, this)); } }); remove.setDisable(true); @@ -120,8 +121,7 @@ public class DiffList extends Page try { level.difficulties.saveOrder(); } catch (IOException e) { - e.printStackTrace(); - Driver.setMenu(new ErrorDisplay("Failed to move difficulty\n"+e,this)); + Driver.setMenu(new ErrorDisplay("Failed to move difficulty", e,this)); } }); @@ -139,8 +139,7 @@ public class DiffList extends Page try { level.difficulties.saveOrder(); } catch (IOException e) { - e.printStackTrace(); - Driver.setMenu(new ErrorDisplay("Failed to move difficulty\n"+e,this)); + Driver.setMenu(new ErrorDisplay("Failed to move difficulty", e,this)); } }); @@ -168,7 +167,7 @@ public class DiffList extends Page } catch (FileAlreadyExistsException e) { Driver.setMenu(new ErrorDisplay("Failed to add difficulty\nA difficulty already exists with the folder name " + e.getFile(), this)); } catch (IOException e) { - Driver.setMenu(new ErrorDisplay("Failed to add difficulty\n" + e, this)); + Driver.setMenu(new ErrorDisplay("Failed to add difficulty", e, this)); } }; Driver.setMenu(new FolderNameEntry("difficulty", this, next)); diff --git a/src/main/java/net/sowgro/npehero/editor/ErrorDisplay.java b/src/main/java/net/sowgro/npehero/editor/ErrorDisplay.java deleted file mode 100644 index c07d12f..0000000 --- a/src/main/java/net/sowgro/npehero/editor/ErrorDisplay.java +++ /dev/null @@ -1,88 +0,0 @@ -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.layout.HBox; -import javafx.scene.layout.Pane; -import javafx.scene.layout.VBox; -import net.sowgro.npehero.Driver; -import net.sowgro.npehero.main.Page; -import net.sowgro.npehero.main.Sound; - -public class ErrorDisplay extends Page { - - private HBox content = new HBox(); - - /** - * Error display with a message and Back button - * @param message The message to display - * @param prev The destination of the close button - */ - public ErrorDisplay(String message, Page prev) { - Label main = new Label(message); - main.getStyleClass().add("box"); - main.setPadding(new Insets(10)); - main.setWrapText(true); - - Button exit = new Button(); - exit.setText("Ok"); - exit.setOnAction(e -> { - Sound.playSfx(Sound.BACKWARD); - Driver.setMenu(prev); - }); - - VBox centerBox = new VBox(); - centerBox.getChildren().addAll(main, exit); - centerBox.setSpacing(10); - centerBox.setAlignment(Pos.CENTER); - - content.getChildren().add(centerBox); - content.setAlignment(Pos.CENTER); - } - - /** - * Error display with a message and Cancel and Proceed buttons - * @param message The message to display - * @param prev The destination of the Cancel button - * @param next The destination of the Proceed button - */ - public ErrorDisplay(String message, Page prev, Page next) { - Label main = new Label(message); - main.getStyleClass().add("box"); - main.setPadding(new Insets(10)); - main.setWrapText(true); - - Button exit = new Button(); - exit.setText("Cancel"); - exit.setOnAction(_ -> { - Sound.playSfx(Sound.BACKWARD); - Driver.setMenu(prev); - }); - - Button nextButton = new Button(); - nextButton.setText("Proceed"); - nextButton.setOnAction(_ -> { - Sound.playSfx(Sound.FORWARD); - Driver.setMenu(next); - }); - - HBox bottom = new HBox(exit, nextButton); - bottom.setAlignment(Pos.CENTER); - bottom.setSpacing(10); - - VBox centerBox = new VBox(); - centerBox.getChildren().addAll(main, bottom); - centerBox.setSpacing(10); - centerBox.setAlignment(Pos.CENTER); - - content.getChildren().add(centerBox); - content.setAlignment(Pos.CENTER); - } - - @Override - public Pane getContent() { - return content; - } -} diff --git a/src/main/java/net/sowgro/npehero/editor/ErrorList.java b/src/main/java/net/sowgro/npehero/editor/ErrorList.java deleted file mode 100644 index 92a9455..0000000 --- a/src/main/java/net/sowgro/npehero/editor/ErrorList.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.sowgro.npehero.editor; - -import javafx.event.EventHandler; -import javafx.geometry.Insets; -import javafx.geometry.Pos; -import javafx.scene.control.*; -import javafx.scene.input.KeyEvent; -import javafx.scene.layout.*; -import net.sowgro.npehero.Driver; -import net.sowgro.npehero.gui.SettingsEditor; -import net.sowgro.npehero.main.Control; -import net.sowgro.npehero.main.Page; -import net.sowgro.npehero.main.Sound; - -import java.io.IOException; -import java.util.List; -import java.util.Map; - -public class ErrorList extends Page { - - private HBox content = new HBox(); - - public ErrorList(Map<String, Exception> list, Page prev) { - - GridPane controls = new GridPane(); - ScrollPane scrollPane = new ScrollPane(controls); - scrollPane.getStyleClass().remove("scroll-pane"); - scrollPane.getStyleClass().add("box"); - scrollPane.setPadding(new Insets(10)); - controls.setPadding(new Insets(10)); - controls.setVgap(20); - controls.setHgap(40); - - scrollPane.setPrefWidth(700); - scrollPane.prefHeightProperty().bind(content.prefHeightProperty().multiply(0.75)); - - Button exit = new Button(); - exit.setText("Back"); - exit.setOnAction(e -> { - Sound.playSfx(Sound.BACKWARD); - Driver.setMenu(prev); - }); - - VBox centerBox = new VBox(); - centerBox.getChildren().addAll(scrollPane, exit); - centerBox.setSpacing(10); - centerBox.setAlignment(Pos.CENTER); - - content.getChildren().add(centerBox); - content.setAlignment(Pos.CENTER); - - int i = 0; - for (Map.Entry<String, Exception> error : list.entrySet()) { - // label - Label label = new Label(error.getKey()); - controls.add(label, 0, i); - - // reset button - Button resetButton = new Button("View Error"); - resetButton.setOnAction(_ -> Driver.setMenu(new ErrorDisplay("E: \n"+error.getValue(), this))); - controls.add(resetButton, 1, i); - i++; - } - } - - @Override - public Pane getContent() { - return content; - } -} diff --git a/src/main/java/net/sowgro/npehero/editor/LevelEditor.java b/src/main/java/net/sowgro/npehero/editor/LevelEditor.java index e02da0f..8e49180 100755 --- a/src/main/java/net/sowgro/npehero/editor/LevelEditor.java +++ b/src/main/java/net/sowgro/npehero/editor/LevelEditor.java @@ -152,13 +152,11 @@ public class LevelEditor extends Page } } catch (Exception ex) { // TODO - ex.printStackTrace(); } try { level.writeMetadata(); } catch (IOException ex) { // TODO - ex.printStackTrace(); } validate(); }); diff --git a/src/main/java/net/sowgro/npehero/editor/LevelList.java b/src/main/java/net/sowgro/npehero/editor/LevelList.java index 6bd725f..492683f 100755 --- a/src/main/java/net/sowgro/npehero/editor/LevelList.java +++ b/src/main/java/net/sowgro/npehero/editor/LevelList.java @@ -6,7 +6,6 @@ import javafx.geometry.Pos; import javafx.scene.control.*; import javafx.scene.control.Button; import javafx.scene.control.Label; -import javafx.scene.control.TextField; import javafx.scene.layout.Pane; import net.sowgro.npehero.Driver; import javafx.scene.layout.HBox; @@ -14,6 +13,8 @@ import javafx.scene.layout.VBox; import net.sowgro.npehero.gui.MainMenu; import net.sowgro.npehero.levelapi.Level; import net.sowgro.npehero.levelapi.Levels; +import net.sowgro.npehero.main.ErrorDisplay; +import net.sowgro.npehero.main.ErrorList; import net.sowgro.npehero.main.Page; import net.sowgro.npehero.main.Sound; @@ -97,8 +98,7 @@ public class LevelList extends Page try { Levels.remove(levels.getSelectionModel().getSelectedItem()); } catch (IOException ex) { - Driver.setMenu(new ErrorDisplay("Failed to remove this level\n"+e.toString(), this)); - ex.printStackTrace(); + Driver.setMenu(new ErrorDisplay("Failed to remove this level", ex, this)); } }); remove.setDisable(true); @@ -110,8 +110,7 @@ public class LevelList extends Page try { Levels.readData(); } catch (IOException ex) { - Driver.setMenu(new ErrorDisplay("Failed to load levels: Level folder is missing\n"+e.toString(), this)); - ex.printStackTrace(); + Driver.setMenu(new ErrorDisplay("Failed to load levels: Level folder is missing", ex, this)); } levels.setItems(Levels.list); }); @@ -124,7 +123,7 @@ public class LevelList extends Page try { Desktop.getDesktop().open(Levels.dir); } catch (IOException ex) { - Driver.setMenu(new ErrorDisplay("Failed to open folder\n"+ex, this)); + Driver.setMenu(new ErrorDisplay("Failed to open folder", ex, this)); } }).start()); @@ -163,7 +162,7 @@ public class LevelList extends Page } catch (FileAlreadyExistsException e) { Driver.setMenu(new ErrorDisplay("Failed to add level\nA level already exists with the folder name '" + e.getFile() + "'", this)); } catch (IOException e) { - Driver.setMenu(new ErrorDisplay("Failed to create level\n"+e, this)); + Driver.setMenu(new ErrorDisplay("Failed to create level", e, this)); } }; Driver.setMenu(new FolderNameEntry("level", this, next)); |