diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..e0f15db2
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "java.configuration.updateBuildConfiguration": "automatic"
+}
\ No newline at end of file
diff --git a/OutlawEditor/pom.xml b/OutlawEditor/pom.xml
index 707700d7..918426d5 100644
--- a/OutlawEditor/pom.xml
+++ b/OutlawEditor/pom.xml
@@ -5,7 +5,7 @@
OutlawEditor
OutlawEditor
jar
- 3.0-SNAPSHOT
+ 3.0
UTF-8
org.badvision.outlaweditor.Application
@@ -75,6 +75,27 @@
org.badvision.outlaweditor.data.xml
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.6.0
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/lib
+ false
+ false
+ true
+ compile
+
+
+
+
@@ -88,23 +109,12 @@
jakarta.xml.bind
jakarta.xml.bind-api
- 4.0.0
+ 4.0.1
- com.sun.xml.bind
- jaxb-impl
+ org.glassfish.jaxb
+ jaxb-runtime
4.0.3
- runtime
-
-
- org.apache.poi
- poi
- ${poi.version}
-
-
- org.apache.poi
- poi-ooxml
- ${poi.version}
org.controlsfx
diff --git a/OutlawEditor/src/main/java/module-info.java b/OutlawEditor/src/main/java/module-info.java
index 2dd576bd..6d801b1a 100644
--- a/OutlawEditor/src/main/java/module-info.java
+++ b/OutlawEditor/src/main/java/module-info.java
@@ -1,8 +1,6 @@
module outlaweditor {
- requires org.controlsfx.controls;
requires javafx.controls;
requires javafx.graphics;
- requires jdk.jsobject;
requires javafx.web;
requires javafx.media;
requires javafx.fxml;
@@ -10,8 +8,12 @@ module outlaweditor {
requires java.desktop;
requires java.scripting;
requires java.xml;
+ requires jdk.jsobject;
requires jakarta.xml.bind;
- requires org.apache.poi.ooxml;
+ requires org.glassfish.jaxb.runtime;
+
+ requires org.controlsfx.controls;
+ // requires org.apache.poi.ooxml;
opens org.badvision.outlaweditor to javafx.graphics, javafx.fxml, javafx.web, org.apache.poi.ooxml;
opens org.badvision.outlaweditor.ui to javafx.fxml;
diff --git a/OutlawEditor/src/main/java/org/badvision/outlaweditor/Editor.java b/OutlawEditor/src/main/java/org/badvision/outlaweditor/Editor.java
index e90c52e6..dda36c6a 100644
--- a/OutlawEditor/src/main/java/org/badvision/outlaweditor/Editor.java
+++ b/OutlawEditor/src/main/java/org/badvision/outlaweditor/Editor.java
@@ -109,12 +109,14 @@ public abstract class Editor implements DataObserver {
public void undo() {
if (!undoStates.isEmpty()) {
T undoState = undoStates.removeFirst();
- setEntity(undoState);
+ copyEntityFrom(undoState);
onEntityUpdated();
redraw();
}
}
+ public abstract void copyEntityFrom(T copyFrom);
+
protected void onEntityUpdated() {
}
diff --git a/OutlawEditor/src/main/java/org/badvision/outlaweditor/GlobalEditor.java b/OutlawEditor/src/main/java/org/badvision/outlaweditor/GlobalEditor.java
index ccb4145f..60f55828 100644
--- a/OutlawEditor/src/main/java/org/badvision/outlaweditor/GlobalEditor.java
+++ b/OutlawEditor/src/main/java/org/badvision/outlaweditor/GlobalEditor.java
@@ -99,5 +99,9 @@ public class GlobalEditor extends Editor{
public void copyData() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
-
+
+ @Override
+ public void copyEntityFrom(Global src) {
+ throw new UnsupportedOperationException("Not supported."); //To change body of generated methods, choose Tools | Templates.
+ }
}
diff --git a/OutlawEditor/src/main/java/org/badvision/outlaweditor/ImageEditor.java b/OutlawEditor/src/main/java/org/badvision/outlaweditor/ImageEditor.java
index 09f48fd3..83bf6602 100644
--- a/OutlawEditor/src/main/java/org/badvision/outlaweditor/ImageEditor.java
+++ b/OutlawEditor/src/main/java/org/badvision/outlaweditor/ImageEditor.java
@@ -79,4 +79,14 @@ public abstract class ImageEditor extends Editor {
public void showSelectorModal() {
patternSelectModal.showPatternSelectModal(targetPane);
}
+
+ @Override
+ public void copyEntityFrom(Image src) {
+ Image dest = getEntity();
+ dest.setCategory(src.getCategory());
+ dest.setComment(src.getComment());
+ dest.setName(src.getName());
+ dest.getDisplayData().clear();
+ dest.getDisplayData().addAll(src.getDisplayData());
+ }
}
diff --git a/OutlawEditor/src/main/java/org/badvision/outlaweditor/MapEditor.java b/OutlawEditor/src/main/java/org/badvision/outlaweditor/MapEditor.java
index 04168d86..83f32aff 100644
--- a/OutlawEditor/src/main/java/org/badvision/outlaweditor/MapEditor.java
+++ b/OutlawEditor/src/main/java/org/badvision/outlaweditor/MapEditor.java
@@ -817,4 +817,21 @@ public class MapEditor extends Editor