aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/sowgro/npehero/editor
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-08-30 12:23:26 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-08-30 12:23:26 -0400
commit69f69143f5604626ded3c26ee754b94eaf3c4f15 (patch)
treea64a1ce20ff21cd6d73b1d36c3e3f9ca930c9b4d /src/main/java/net/sowgro/npehero/editor
parentaa916b0f06be0d42bec1e035d0efeec954e09243 (diff)
downloadNPEhero-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')
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/editor/DiffEditor.java2
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/editor/DiffList.java13
-rw-r--r--src/main/java/net/sowgro/npehero/editor/ErrorDisplay.java88
-rw-r--r--src/main/java/net/sowgro/npehero/editor/ErrorList.java70
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/editor/LevelEditor.java2
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/editor/LevelList.java13
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));