From be270df7a05d846e1054b78d50785598403a8371 Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Fri, 20 Oct 2023 22:09:37 +0200 Subject: [PATCH 1/5] Fix event targent type erasure bump to javafx 21 --- build.gradle | 2 +- .../controlsfx/control/spreadsheet/Grid.java | 7 +-- .../control/spreadsheet/GridBase.java | 6 +-- .../control/spreadsheet/SpreadsheetCell.java | 46 +++++++++---------- .../spreadsheet/SpreadsheetCellBase.java | 34 ++++---------- .../textfield/AutoCompletionBinding.java | 4 +- gradle.properties | 2 +- 7 files changed, 42 insertions(+), 59 deletions(-) diff --git a/build.gradle b/build.gradle index 87f7704e2..e8f4ff6be 100644 --- a/build.gradle +++ b/build.gradle @@ -84,4 +84,4 @@ nexusPublishing { password = project.hasProperty('sonatypePassword') ? project.property('sonatypePassword') : '' } } -} \ No newline at end of file +} diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java index bc9d56d4f..40a40e844 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java @@ -29,6 +29,7 @@ import java.util.Collection; import javafx.beans.property.BooleanProperty; import javafx.collections.ObservableList; +import javafx.event.Event; import javafx.event.EventHandler; import javafx.event.EventType; @@ -241,7 +242,7 @@ public interface Grid { * @param eventHandler the handler to register * @throws NullPointerException if the event type or handler is null */ - public void addEventHandler(EventType eventType, EventHandler eventHandler); + public void addEventHandler(EventType eventType, EventHandler eventHandler); /** * Unregisters a previously registered event handler from this Grid. One @@ -254,5 +255,5 @@ public interface Grid { * @param eventHandler the handler to unregister * @throws NullPointerException if the event type or handler is null */ - public void removeEventHandler(EventType eventType, EventHandler eventHandler); -} \ No newline at end of file + public void removeEventHandler(EventType eventType, EventHandler eventHandler); +} diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java index 643da5795..6b4d015aa 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java @@ -423,14 +423,12 @@ public boolean isCellDisplaySelection(int row, int column) { } /** {@inheritDoc} */ - @Override - public void addEventHandler(EventType eventType, EventHandler eventHandler) { + public void addEventHandler(EventType eventType, EventHandler eventHandler) { eventHandlerManager.addEventHandler(eventType, eventHandler); } /** {@inheritDoc} */ - @Override - public void removeEventHandler(EventType eventType, EventHandler eventHandler) { + public void removeEventHandler(EventType eventType, EventHandler eventHandler) { eventHandlerManager.removeEventHandler(eventType, eventHandler); } diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java index f662b3e9d..6cf1adcfd 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java @@ -33,9 +33,7 @@ import javafx.beans.property.ReadOnlyStringProperty; import javafx.beans.property.StringProperty; import javafx.collections.ObservableSet; -import javafx.event.Event; -import javafx.event.EventHandler; -import javafx.event.EventType; +import javafx.event.*; import javafx.scene.Node; import javafx.scene.control.MenuButton; import javafx.scene.control.MenuItem; @@ -68,7 +66,26 @@ public interface SpreadsheetCell { */ public static final EventType CORNER_EVENT_TYPE = new EventType<>("CornerEventType" + UUID.randomUUID().toString()); //$NON-NLS-1$ - + + + /** + * Registers an event handler to this SpreadsheetCell. + * + * @param eventType the type of the events to receive by the handler + * @param eventHandler the handler to register + * @throws NullPointerException if the event type or handler is null + */ + public void addEventHandler(EventType eventType, EventHandler eventHandler); + + /** + * Unregisters a previously registered event handler from this + * SpreadsheetCell. + * + * @param eventType the event type from which to unregister + * @param eventHandler the handler to unregister + * @throws NullPointerException if the event type or handler is null + */ + public void removeEventHandler(EventType eventType, EventHandler eventHandler); /** * This enum states the four different corner available for positioning * some elements in a cell. @@ -405,23 +422,6 @@ public static enum CornerPosition { * @return the tooltip associated with this {@code SpreadsheetCell} */ public Optional getTooltip(); - - /** - * Registers an event handler to this SpreadsheetCell. - * - * @param eventType the type of the events to receive by the handler - * @param eventHandler the handler to register - * @throws NullPointerException if the event type or handler is null - */ - public void addEventHandler(EventType eventType, EventHandler eventHandler); - - /** - * Unregisters a previously registered event handler from this - * SpreadsheetCell. - * - * @param eventType the event type from which to unregister - * @param eventHandler the handler to unregister - * @throws NullPointerException if the event type or handler is null - */ - public void removeEventHandler(EventType eventType, EventHandler eventHandler); + } + diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java index f42409676..4d1fb65ea 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java @@ -596,36 +596,20 @@ public final int hashCode() { result = prime * result + Objects.hashCode(getStyleClass()); return result; } - - /** - * Registers an event handler to this SpreadsheetCell. The SpreadsheetCell class allows - * registration of listeners which will be notified when a corner state of - * the editable state of this SpreadsheetCell have changed. - * - * @param eventType the type of the events to receive by the handler - * @param eventHandler the handler to register - * @throws NullPointerException if the event type or handler is null - */ + + /** {@inheritDoc} */ @Override - public void addEventHandler(EventType eventType, EventHandler eventHandler) { - eventHandlerManager.addEventHandler(eventType, eventHandler); + public void addEventHandler(EventType eventType, EventHandler eventHandler) { + eventHandlerManager.addEventHandler(eventType, eventHandler); } - /** - * Unregisters a previously registered event handler from this SpreadsheetCell. One - * handler might have been registered for different event types, so the - * caller needs to specify the particular event type from which to - * unregister the handler. - * - * @param eventType the event type from which to unregister - * @param eventHandler the handler to unregister - * @throws NullPointerException if the event type or handler is null - */ + /** {@inheritDoc} */ @Override - public void removeEventHandler(EventType eventType, EventHandler eventHandler) { - eventHandlerManager.removeEventHandler(eventType, eventHandler); + public void removeEventHandler(EventType eventType, EventHandler eventHandler) { + eventHandlerManager.removeEventHandler(eventType, eventHandler); } - + + /*************************************************************************** * * Private Implementation diff --git a/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java b/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java index 70d66c3f1..d1a25be02 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java +++ b/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java @@ -547,7 +547,7 @@ public String getName() { * @param eventHandler the handler to register * @throws NullPointerException if the event type or handler is null */ - public void addEventHandler(EventType eventType, EventHandler eventHandler) { + public void addEventHandler(EventType eventType, EventHandler eventHandler) { eventHandlerManager.addEventHandler(eventType, eventHandler); } @@ -562,7 +562,7 @@ public void addEventHandler(EventType eventType, EventHandl * @param eventHandler the handler to unregister * @throws NullPointerException if the event type or handler is null */ - public void removeEventHandler(EventType eventType, EventHandler eventHandler) { + public void removeEventHandler(EventType eventType, EventHandler eventHandler) { eventHandlerManager.removeEventHandler(eventType, eventHandler); } diff --git a/gradle.properties b/gradle.properties index 68f3e965c..e930731ad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ group = org.controlsfx controlsfx_version = 11.1.3-SNAPSHOT fxsampler_version = 1.0.12-SNAPSHOT -javafx_version = 13 \ No newline at end of file +javafx_version = 21 From 1f20360f0f460ef8ca579b2734bc28fa3fef57be Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Tue, 24 Oct 2023 21:18:18 +0200 Subject: [PATCH 2/5] bump to jdk 17 --- .github/workflows/build.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- .lgtm.yml | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e93d3bca3..006aa9771 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,13 +12,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: Grant execute permission for gradlew @@ -46,4 +46,4 @@ jobs: # Drafts your next Release notes as Pull Requests are merged into "master" uses: release-drafter/release-drafter@v5 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 055a9ecb5..50de025af 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,15 +9,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 5 - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '17' cache: 'gradle' - name: Grant execute permission for gradlew @@ -74,4 +74,4 @@ jobs: TAG=${GITHUB_REF/refs\/tags\//} bash .github/scripts/update-javadoc.sh "$TAG" env: - PAT: ${{ secrets.PAT }} \ No newline at end of file + PAT: ${{ secrets.PAT }} diff --git a/.lgtm.yml b/.lgtm.yml index eb5f4c9b7..315deaa89 100644 --- a/.lgtm.yml +++ b/.lgtm.yml @@ -1,4 +1,4 @@ extraction: java: index: - java_version: 11 + java_version: 17 From d89420eaab656252f6002fbf127a39ee7454347c Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Wed, 25 Oct 2023 16:48:57 +0200 Subject: [PATCH 3/5] change javafx version to 17 again, adjust imports and copyright --- .../main/java/org/controlsfx/control/spreadsheet/Grid.java | 2 +- .../java/org/controlsfx/control/spreadsheet/GridBase.java | 2 +- .../org/controlsfx/control/spreadsheet/SpreadsheetCell.java | 6 ++++-- .../controlsfx/control/spreadsheet/SpreadsheetCellBase.java | 3 +-- .../controlsfx/control/textfield/AutoCompletionBinding.java | 2 +- gradle.properties | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java index 40a40e844..60ed2f5e4 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013, 2018 ControlsFX + * Copyright (c) 2013, 2018, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java index 6b4d015aa..6ce26e885 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013, 2018 ControlsFX + * Copyright (c) 2013, 2018, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java index 6cf1adcfd..5d2fa808a 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2014, 2018 ControlsFX + * Copyright (c) 2014, 2018, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,9 @@ import javafx.beans.property.ReadOnlyStringProperty; import javafx.beans.property.StringProperty; import javafx.collections.ObservableSet; -import javafx.event.*; +import javafx.event.Event; +import javafx.event.EventHandler; +import javafx.event.EventType; import javafx.scene.Node; import javafx.scene.control.MenuButton; import javafx.scene.control.MenuItem; diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java index 4d1fb65ea..87abda990 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013, 2016, 2018 ControlsFX + * Copyright (c) 2013, 2016, 2018, 2023s ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -674,7 +674,6 @@ private boolean setMask(boolean flag, int position) { } /** - * @param mask * @param position * @return whether the specified bit position is true. */ diff --git a/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java b/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java index d1a25be02..69cece2ac 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java +++ b/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2014, 2016, 2020 ControlsFX + * Copyright (c) 2014, 2016, 2020, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/gradle.properties b/gradle.properties index e930731ad..73a86fa59 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ group = org.controlsfx controlsfx_version = 11.1.3-SNAPSHOT fxsampler_version = 1.0.12-SNAPSHOT -javafx_version = 21 +javafx_version = 17 From ffdd824f28266c2f439cdfa5c1929b212641137f Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Wed, 25 Oct 2023 19:50:25 +0200 Subject: [PATCH 4/5] fix copyright --- .../src/main/java/org/controlsfx/control/spreadsheet/Grid.java | 2 +- .../main/java/org/controlsfx/control/spreadsheet/GridBase.java | 2 +- .../org/controlsfx/control/spreadsheet/SpreadsheetCell.java | 2 +- .../org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java | 2 +- .../org/controlsfx/control/textfield/AutoCompletionBinding.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java index 60ed2f5e4..06b0cf430 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/Grid.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013, 2018, 2023 ControlsFX + * Copyright (c) 2013, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java index 6ce26e885..ba2a9358e 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/GridBase.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013, 2018, 2023 ControlsFX + * Copyright (c) 2013, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java index 5d2fa808a..91c135c85 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2014, 2018, 2023 ControlsFX + * Copyright (c) 2014, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java index 87abda990..912ef233b 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCellBase.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013, 2016, 2018, 2023s ControlsFX + * Copyright (c) 2013, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java b/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java index 69cece2ac..179a90f77 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java +++ b/controlsfx/src/main/java/org/controlsfx/control/textfield/AutoCompletionBinding.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2014, 2016, 2020, 2023 ControlsFX + * Copyright (c) 2014, 2023 ControlsFX * All rights reserved. * * Redistribution and use in source and binary forms, with or without From 0f773696d1dc9b4654c87d788d5302c3ad624520 Mon Sep 17 00:00:00 2001 From: Siedlerchr Date: Thu, 26 Oct 2023 20:30:58 +0200 Subject: [PATCH 5/5] fix spacing, move down --- .../control/spreadsheet/SpreadsheetCell.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java index 91c135c85..b86cd906f 100644 --- a/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java +++ b/controlsfx/src/main/java/org/controlsfx/control/spreadsheet/SpreadsheetCell.java @@ -69,26 +69,7 @@ public interface SpreadsheetCell { public static final EventType CORNER_EVENT_TYPE = new EventType<>("CornerEventType" + UUID.randomUUID().toString()); //$NON-NLS-1$ - - /** - * Registers an event handler to this SpreadsheetCell. - * - * @param eventType the type of the events to receive by the handler - * @param eventHandler the handler to register - * @throws NullPointerException if the event type or handler is null - */ - public void addEventHandler(EventType eventType, EventHandler eventHandler); - - /** - * Unregisters a previously registered event handler from this - * SpreadsheetCell. - * - * @param eventType the event type from which to unregister - * @param eventHandler the handler to unregister - * @throws NullPointerException if the event type or handler is null - */ - public void removeEventHandler(EventType eventType, EventHandler eventHandler); - /** + /** * This enum states the four different corner available for positioning * some elements in a cell. */ @@ -425,5 +406,25 @@ public static enum CornerPosition { */ public Optional getTooltip(); + /** + * Registers an event handler to this SpreadsheetCell. + * + * @param eventType the type of the events to receive by the handler + * @param eventHandler the handler to register + * @throws NullPointerException if the event type or handler is null + */ + public void addEventHandler(EventType eventType, EventHandler eventHandler); + + /** + * Unregisters a previously registered event handler from this + * SpreadsheetCell. + * + * @param eventType the event type from which to unregister + * @param eventHandler the handler to unregister + * @throws NullPointerException if the event type or handler is null + */ + public void removeEventHandler(EventType eventType, EventHandler eventHandler); + + }