From 24547f5f8fafd79c2ddd2ee1fd26da2ea3ad6c01 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Wed, 22 Nov 2017 19:45:00 +0200 Subject: [PATCH 01/12] Fix for #653 (phase one) Fixed regression part of #653 --- .../fxmisc/richtext/GenericStyledArea.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java b/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java index f9eacb297..7f5e8580b 100644 --- a/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java +++ b/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java @@ -338,11 +338,17 @@ protected void invalidated() { } }; @Override public final BooleanProperty editableProperty() { return editable; } + // Don't remove as FXMLLoader doesn't recognise default methods ! + @Override void setEditable(boolean value) { editable.set(value); } + @Override boolean isEditable() { return editable.get(); } // wrapText property private final BooleanProperty wrapText = new SimpleBooleanProperty(this, "wrapText"); @Override public final BooleanProperty wrapTextProperty() { return wrapText; } - + // Don't remove as FXMLLoader doesn't recognise default methods ! + @Override void setWrapText(boolean value) { wrapText.set(value); } + @Override boolean isWrapText() { return wrapText.get(); } + // undo manager private UndoManager undoManager; @Override public UndoManager getUndoManager() { return undoManager; } @@ -359,14 +365,23 @@ protected void invalidated() { private ObjectProperty contextMenu = new SimpleObjectProperty<>(null); @Override public final ObjectProperty contextMenuObjectProperty() { return contextMenu; } + // Don't remove as FXMLLoader doesn't recognise default methods ! + @Override void setContextMenu(ContextMenu menu) { contextMenu.set(menu); } + @Override ContextMenu getContextMenu() { return contextMenu.get(); } protected final boolean isContextMenuPresent() { return contextMenu.get() != null; } private DoubleProperty contextMenuXOffset = new SimpleDoubleProperty(2); @Override public final DoubleProperty contextMenuXOffsetProperty() { return contextMenuXOffset; } + // Don't remove as FXMLLoader doesn't recognise default methods ! + @Override void setContextMenuXOffset(double offset) { contextMenuXOffset.set(offset); } + @Override double getContextMenuXOffset() { return contextMenuXOffset.get(); } private DoubleProperty contextMenuYOffset = new SimpleDoubleProperty(2); @Override public final DoubleProperty contextMenuYOffsetProperty() { return contextMenuYOffset; } + // Don't remove as FXMLLoader doesn't recognise default methods ! + @Override void setContextMenuYOffset(double offset) { contextMenuYOffset.set(offset); } + @Override double getContextMenuYOffset() { return contextMenuYOffset.get(); } private final BooleanProperty useInitialStyleForInsertion = new SimpleBooleanProperty(); @Override public BooleanProperty useInitialStyleForInsertionProperty() { return useInitialStyleForInsertion; } @@ -430,6 +445,9 @@ protected void invalidated() { // not a hook, but still plays a part in the default mouse behavior private final BooleanProperty autoScrollOnDragDesired = new SimpleBooleanProperty(true); @Override public final BooleanProperty autoScrollOnDragDesiredProperty() { return autoScrollOnDragDesired; } + // Don't remove as FXMLLoader doesn't recognise default methods ! + @Override void setAutoScrollOnDragDesired(boolean val) { autoScrollOnDragDesired.set(val); } + @Override boolean isAutoScrollOnDragDesired() { return autoScrollOnDragDesired.get(); } /* ********************************************************************** * * * From c4cb9615902309ffe0cf0ed6336802efe0d2878d Mon Sep 17 00:00:00 2001 From: Jurgen Date: Wed, 22 Nov 2017 20:00:39 +0200 Subject: [PATCH 02/12] Added public method markers --- .../fxmisc/richtext/GenericStyledArea.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java b/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java index 7f5e8580b..ca9cbef41 100644 --- a/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java +++ b/richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledArea.java @@ -339,15 +339,15 @@ protected void invalidated() { }; @Override public final BooleanProperty editableProperty() { return editable; } // Don't remove as FXMLLoader doesn't recognise default methods ! - @Override void setEditable(boolean value) { editable.set(value); } - @Override boolean isEditable() { return editable.get(); } + @Override public void setEditable(boolean value) { editable.set(value); } + @Override public boolean isEditable() { return editable.get(); } // wrapText property private final BooleanProperty wrapText = new SimpleBooleanProperty(this, "wrapText"); @Override public final BooleanProperty wrapTextProperty() { return wrapText; } // Don't remove as FXMLLoader doesn't recognise default methods ! - @Override void setWrapText(boolean value) { wrapText.set(value); } - @Override boolean isWrapText() { return wrapText.get(); } + @Override public void setWrapText(boolean value) { wrapText.set(value); } + @Override public boolean isWrapText() { return wrapText.get(); } // undo manager private UndoManager undoManager; @@ -366,22 +366,22 @@ protected void invalidated() { private ObjectProperty contextMenu = new SimpleObjectProperty<>(null); @Override public final ObjectProperty contextMenuObjectProperty() { return contextMenu; } // Don't remove as FXMLLoader doesn't recognise default methods ! - @Override void setContextMenu(ContextMenu menu) { contextMenu.set(menu); } - @Override ContextMenu getContextMenu() { return contextMenu.get(); } + @Override public void setContextMenu(ContextMenu menu) { contextMenu.set(menu); } + @Override public ContextMenu getContextMenu() { return contextMenu.get(); } protected final boolean isContextMenuPresent() { return contextMenu.get() != null; } private DoubleProperty contextMenuXOffset = new SimpleDoubleProperty(2); @Override public final DoubleProperty contextMenuXOffsetProperty() { return contextMenuXOffset; } // Don't remove as FXMLLoader doesn't recognise default methods ! - @Override void setContextMenuXOffset(double offset) { contextMenuXOffset.set(offset); } - @Override double getContextMenuXOffset() { return contextMenuXOffset.get(); } + @Override public void setContextMenuXOffset(double offset) { contextMenuXOffset.set(offset); } + @Override public double getContextMenuXOffset() { return contextMenuXOffset.get(); } private DoubleProperty contextMenuYOffset = new SimpleDoubleProperty(2); @Override public final DoubleProperty contextMenuYOffsetProperty() { return contextMenuYOffset; } // Don't remove as FXMLLoader doesn't recognise default methods ! - @Override void setContextMenuYOffset(double offset) { contextMenuYOffset.set(offset); } - @Override double getContextMenuYOffset() { return contextMenuYOffset.get(); } + @Override public void setContextMenuYOffset(double offset) { contextMenuYOffset.set(offset); } + @Override public double getContextMenuYOffset() { return contextMenuYOffset.get(); } private final BooleanProperty useInitialStyleForInsertion = new SimpleBooleanProperty(); @Override public BooleanProperty useInitialStyleForInsertionProperty() { return useInitialStyleForInsertion; } @@ -446,8 +446,8 @@ protected void invalidated() { private final BooleanProperty autoScrollOnDragDesired = new SimpleBooleanProperty(true); @Override public final BooleanProperty autoScrollOnDragDesiredProperty() { return autoScrollOnDragDesired; } // Don't remove as FXMLLoader doesn't recognise default methods ! - @Override void setAutoScrollOnDragDesired(boolean val) { autoScrollOnDragDesired.set(val); } - @Override boolean isAutoScrollOnDragDesired() { return autoScrollOnDragDesired.get(); } + @Override public void setAutoScrollOnDragDesired(boolean val) { autoScrollOnDragDesired.set(val); } + @Override public boolean isAutoScrollOnDragDesired() { return autoScrollOnDragDesired.get(); } /* ********************************************************************** * * * From e90a0530efe82685fd0a0a7b8791e57b7327aa54 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Wed, 22 Nov 2017 21:51:40 +0200 Subject: [PATCH 03/12] Fxml Test attempt --- .../java/org/fxmisc/richtext/FxmlTest.fxml | 17 ++++++++++++++ .../java/org/fxmisc/richtext/FxmlTest.java | 22 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml create mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml new file mode 100644 index 000000000..9fb648763 --- /dev/null +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java new file mode 100644 index 000000000..a361879d3 --- /dev/null +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java @@ -0,0 +1,22 @@ +package org.fxmisc.richtext; + +import javafx.application.Application; +import javafx.application.Platform; +import javafx.fxml.FXMLLoader; +import javafx.stage.Stage; + +public class FxmlTest extends Application { + + @Override public void start(Stage primaryStage) + { + Object obj; + try { obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); } + catch ( Exception EX ) { EX.printStackTrace(); } + org.junit.Assert.assertNotNull( obj ); + Platform.exit(); + } + + public static void main(String[] args) { + launch(args); + } +} From a3aa20334259356bcf55f625f850c786a7389d11 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 08:55:43 +0200 Subject: [PATCH 04/12] Delete FxmlTest.java --- .../java/org/fxmisc/richtext/FxmlTest.java | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java deleted file mode 100644 index a361879d3..000000000 --- a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.fxmisc.richtext; - -import javafx.application.Application; -import javafx.application.Platform; -import javafx.fxml.FXMLLoader; -import javafx.stage.Stage; - -public class FxmlTest extends Application { - - @Override public void start(Stage primaryStage) - { - Object obj; - try { obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); } - catch ( Exception EX ) { EX.printStackTrace(); } - org.junit.Assert.assertNotNull( obj ); - Platform.exit(); - } - - public static void main(String[] args) { - launch(args); - } -} From a642497ca5944f3e41d902753c43be8b03a293d1 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 08:55:57 +0200 Subject: [PATCH 05/12] Delete FxmlTest.fxml --- .../java/org/fxmisc/richtext/FxmlTest.fxml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml deleted file mode 100644 index 9fb648763..000000000 --- a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/FxmlTest.fxml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - From 61bd111c949d53e1c3b8679f509ac41d7efe3bab Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 08:59:07 +0200 Subject: [PATCH 06/12] Fxml Tester 2nd attempt --- .../org/fxmisc/richtext/api/FxmlTest.fxml | 18 ++++++++++++++ .../org/fxmisc/richtext/api/FxmlTester.java | 24 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml create mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml new file mode 100644 index 000000000..2caad9c99 --- /dev/null +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java new file mode 100644 index 000000000..7ef2e42f0 --- /dev/null +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java @@ -0,0 +1,24 @@ +package org.fxmisc.richtext.api; + +import javafx.stage.Stage; +import javafx.fxml.FXMLLoader; +import org.fxmisc.richtext.RichTextFXTestBase; +import org.junit.Test; + +public class FxmlTester extends RichTextFXTestBase { + + @Override + public void start(Stage stage) throws Exception { + // Nothing needed here + } + + @Test + public void test_fxml_construction_of_area() + { + Object obj = null; + try { obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); } + catch ( Exception EX ) { EX.printStackTrace(); } + org.junit.Assert.assertNotNull( obj ); + } + +} From 6efc01af050f82a2ada1c231e74b60ca5a03dd10 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 09:17:40 +0200 Subject: [PATCH 07/12] Fixed fxml location --- .../java/org/fxmisc/richtext/api/FxmlTester.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java index 7ef2e42f0..65f956315 100644 --- a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java @@ -16,7 +16,7 @@ public void start(Stage stage) throws Exception { public void test_fxml_construction_of_area() { Object obj = null; - try { obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); } + try { obj = FXMLLoader.load( getClass().getResource( "/org/fxmisc/richtext/api/FxmlTest.fxml" ) ); } catch ( Exception EX ) { EX.printStackTrace(); } org.junit.Assert.assertNotNull( obj ); } From 693743e2ee5b15fbba0666e8c7a19b3bfb9c5283 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 10:59:52 +0200 Subject: [PATCH 08/12] Update FxmlTester.java --- .../org/fxmisc/richtext/api/FxmlTester.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java index 65f956315..a416bfcf5 100644 --- a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java @@ -9,16 +9,18 @@ public class FxmlTester extends RichTextFXTestBase { @Override public void start(Stage stage) throws Exception { - // Nothing needed here + // Nothing needed here + } + + @Test + public void test_fxml_construction_of_area() + { + Object obj = null; + // FxmlTest.fxml is located in resources folder: + // src/integrationTest/resources/org/fxmisc/richtext/api/ + try { obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); } + catch ( Exception EX ) { EX.printStackTrace(); } + org.junit.Assert.assertNotNull( obj ); } - - @Test - public void test_fxml_construction_of_area() - { - Object obj = null; - try { obj = FXMLLoader.load( getClass().getResource( "/org/fxmisc/richtext/api/FxmlTest.fxml" ) ); } - catch ( Exception EX ) { EX.printStackTrace(); } - org.junit.Assert.assertNotNull( obj ); - } } From 6318435b921f6ab5a71266dbb9c430eb1a3705e5 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 11:00:54 +0200 Subject: [PATCH 09/12] Moved to resources --- .../java/org/fxmisc/richtext/api/FxmlTest.fxml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml deleted file mode 100644 index 2caad9c99..000000000 --- a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTest.fxml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - From ca126db1635b9a4183f4778d7b45dc2a548940c9 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 11:02:46 +0200 Subject: [PATCH 10/12] Moved FXML file to resources --- .../org/fxmisc/richtext/api/FxmlTest.fxml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml diff --git a/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml b/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml new file mode 100644 index 000000000..954a2b007 --- /dev/null +++ b/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + From d8d8a5c901d1d49430bfd7828141a0fcea3bf7fa Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 18:30:29 +0200 Subject: [PATCH 11/12] Removed catch clause and added comment --- .../java/org/fxmisc/richtext/api/FxmlTester.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java index a416bfcf5..f5889128c 100644 --- a/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java +++ b/richtextfx/src/integrationTest/java/org/fxmisc/richtext/api/FxmlTester.java @@ -1,7 +1,9 @@ package org.fxmisc.richtext.api; +import java.io.IOException; import javafx.stage.Stage; import javafx.fxml.FXMLLoader; +import javafx.fxml.LoadException; import org.fxmisc.richtext.RichTextFXTestBase; import org.junit.Test; @@ -13,13 +15,13 @@ public void start(Stage stage) throws Exception { } @Test - public void test_fxml_construction_of_area() - { - Object obj = null; + public void test_fxml_construction_of_area() throws IOException, LoadException + { // FxmlTest.fxml is located in resources folder: // src/integrationTest/resources/org/fxmisc/richtext/api/ - try { obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); } - catch ( Exception EX ) { EX.printStackTrace(); } + Object obj = FXMLLoader.load( getClass().getResource( "FxmlTest.fxml" ) ); + // FXMLLoader will throw a LoadException if any properties failed to be set, + // so if obj is not null then all properties are guaranteed to have been set. org.junit.Assert.assertNotNull( obj ); } From 812e43e5f671f9baecb77bbd0c2a404c973432b4 Mon Sep 17 00:00:00 2001 From: Jurgen Date: Thu, 23 Nov 2017 18:32:51 +0200 Subject: [PATCH 12/12] Consolidated properties into one TextArea --- .../resources/org/fxmisc/richtext/api/FxmlTest.fxml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml b/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml index 954a2b007..35b549123 100644 --- a/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml +++ b/richtextfx/src/integrationTest/resources/org/fxmisc/richtext/api/FxmlTest.fxml @@ -1,13 +1,13 @@ - - - + + + - - +