From 5453d9c5a75fdb2fbd9ac2f3e409b9dca40f956d Mon Sep 17 00:00:00 2001 From: wise-coders Date: Fri, 12 Jul 2024 13:15:01 +0200 Subject: [PATCH 1/9] Library upgrades --- .github/workflows/gradle.yml | 2 +- build.gradle | 21 +++++++++++-------- gradle.properties | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 8 +++---- src/demo/groovy/demo/AccordionDemo.groovy | 2 +- src/demo/groovy/demo/ActionMenuDemo.groovy | 2 +- src/demo/groovy/demo/AnalogClockDemo.groovy | 2 +- src/demo/groovy/demo/AnchorDemo.groovy | 2 +- src/demo/groovy/demo/AnimationDemo.groovy | 2 +- src/demo/groovy/demo/BindDemo.groovy | 2 +- src/demo/groovy/demo/BlendEffectDemo.groovy | 2 +- src/demo/groovy/demo/BorderPaneDemo.groovy | 2 +- src/demo/groovy/demo/ButtonBarDemo.groovy | 2 +- src/demo/groovy/demo/CanvasDemo.groovy | 2 +- .../groovy/demo/ChainedEffectsDemo.groovy | 2 +- src/demo/groovy/demo/ChartDemo.groovy | 2 +- src/demo/groovy/demo/ChoiceBoxDemo.groovy | 2 +- src/demo/groovy/demo/ChooserDemo.groovy | 2 +- src/demo/groovy/demo/CircleDemo.groovy | 2 +- .../groovy/demo/ColorfulCirclesDemo.groovy | 2 +- src/demo/groovy/demo/CustomFieldDemo.groovy | 2 +- .../groovy/demo/DierksCodeStyleDemo.groovy | 2 +- src/demo/groovy/demo/EffectsDemo.groovy | 2 +- src/demo/groovy/demo/FXBindableDemo.groovy | 2 +- src/demo/groovy/demo/FXMLDemo.groovy | 2 +- .../groovy/demo/FXMLDemoController.groovy | 2 +- .../demo/FXMLDemoFromSceneBuilderFile.groovy | 2 +- .../groovy/demo/FadeTransitionDemo.groovy | 2 +- src/demo/groovy/demo/FillAndStrokeDemo.groovy | 2 +- .../groovy/demo/FillTransitionDemo.groovy | 2 +- src/demo/groovy/demo/FontDemo.groovy | 2 +- src/demo/groovy/demo/GradientDemo.groovy | 2 +- src/demo/groovy/demo/GridPaneDemo.groovy | 2 +- src/demo/groovy/demo/GroovyFXDemo.groovy | 2 +- src/demo/groovy/demo/HTMLEditorDemo.groovy | 2 +- src/demo/groovy/demo/HelloWorldDemo.groovy | 2 +- src/demo/groovy/demo/ImageDemo.groovy | 2 +- .../groovy/demo/LightingEffectDemo.groovy | 2 +- src/demo/groovy/demo/LogoDemo.groovy | 2 +- src/demo/groovy/demo/MediaViewDemo.groovy | 2 +- src/demo/groovy/demo/MenuDemo.groovy | 2 +- src/demo/groovy/demo/PaddingDemo.groovy | 2 +- .../groovy/demo/ParallelTransitionDemo.groovy | 2 +- .../groovy/demo/PathTransitionDemo.groovy | 2 +- .../groovy/demo/RotateTransitionDemo.groovy | 2 +- src/demo/groovy/demo/SGTimelineDemo.groovy | 2 +- .../groovy/demo/ScaleTransitionDemo.groovy | 2 +- .../groovy/demo/SequenceContentDemo.groovy | 2 +- .../demo/SequentialTransitionDemo.groovy | 2 +- src/demo/groovy/demo/SpinnerDemo.groovy | 2 +- src/demo/groovy/demo/SpirographDemo.groovy | 2 +- src/demo/groovy/demo/SplitPaneDemo.groovy | 2 +- .../groovy/demo/StrokeTransitionDemo.groovy | 2 +- src/demo/groovy/demo/SwingDemo.groovy | 2 +- src/demo/groovy/demo/TabDemo.groovy | 2 +- src/demo/groovy/demo/TableView2Demo.groovy | 2 +- src/demo/groovy/demo/TableViewDemo.groovy | 2 +- src/demo/groovy/demo/TextAreaDemo.groovy | 2 +- src/demo/groovy/demo/TextFieldDemo.groovy | 2 +- src/demo/groovy/demo/TextFlowDemo.groovy | 2 +- src/demo/groovy/demo/TimelineDemo.groovy | 2 +- src/demo/groovy/demo/TitledPaneDemo.groovy | 2 +- src/demo/groovy/demo/ToggleButtonDemo.groovy | 2 +- src/demo/groovy/demo/ToolBarDemo.groovy | 2 +- src/demo/groovy/demo/Transform3DDemo.groovy | 2 +- src/demo/groovy/demo/TransitionDemo.groovy | 2 +- .../demo/TranslateTransitionDemo.groovy | 2 +- src/demo/groovy/demo/TreeViewDemo.groovy | 2 +- src/demo/groovy/demo/TriggerDemo.groovy | 2 +- src/demo/groovy/demo/TwoStagesDemo.groovy | 2 +- .../groovy/demo/VanishingCirclesDemo.groovy | 2 +- src/demo/groovy/demo/WebViewDemo.groovy | 2 +- .../groovy/demo/structure/AllInOne.groovy | 2 +- .../groovy/demo/structure/DemoStyle.groovy | 2 +- .../groovy/demo/structure/Improved.groovy | 2 +- src/demo/resources/demo/FXMLDemo.fxml | 2 +- src/demo/resources/demo/FXMLDemoInline.fxml | 2 +- src/demo/resources/demo/buildertry.fxml | 2 +- src/demo/resources/demo/demo.css | 2 +- src/demo/resources/demo/groovyfx.css | 2 +- src/main/groovy/groovyx/javafx/GroovyFX.java | 2 +- .../groovyx/javafx/GroovyFXEnhancer.groovy | 2 +- .../groovyx/javafx/InterpolatorEnums.java | 2 +- .../groovyx/javafx/SceneGraphBuilder.groovy | 2 +- .../groovyx/javafx/animation/GTimeline.groovy | 2 +- .../javafx/animation/TargetHolder.groovy | 2 +- .../groovyx/javafx/appsupport/Action.java | 2 +- .../groovyx/javafx/beans/FXBindable.java | 2 +- .../beans/FXBindableASTTransformation.java | 2 +- .../javafx/binding/BindingHolder.groovy | 2 +- .../javafx/binding/ConverterProperty.java | 2 +- .../javafx/binding/GroovyClosureProperty.java | 2 +- .../ScriptVariableBooleanProperty.java | 2 +- .../binding/ScriptVariableDoubleProperty.java | 2 +- .../binding/ScriptVariableFloatProperty.java | 2 +- .../ScriptVariableIntegerProperty.java | 2 +- .../binding/ScriptVariableLongProperty.java | 2 +- .../binding/ScriptVariableObjectProperty.java | 2 +- .../binding/ScriptVariableProperty.java | 2 +- .../binding/ScriptVariableStringProperty.java | 2 +- .../groovy/groovyx/javafx/binding/Util.java | 2 +- .../canvas/AppendSVGPathOperation.groovy | 2 +- .../javafx/canvas/ApplyEffectOperation.groovy | 2 +- .../groovyx/javafx/canvas/ArcOperation.groovy | 2 +- .../javafx/canvas/ArcToOperation.groovy | 2 +- .../javafx/canvas/BeginPathOperation.groovy | 2 +- .../canvas/BezierCurveToOperation.groovy | 2 +- .../javafx/canvas/CanvasOperation.groovy | 2 +- .../javafx/canvas/ClearRectOperation.groovy | 2 +- .../javafx/canvas/ClipOperation.groovy | 2 +- .../javafx/canvas/ClosePathOperation.groovy | 2 +- .../javafx/canvas/ClosureOperation.groovy | 2 +- .../javafx/canvas/DrawImageOperation.groovy | 2 +- .../javafx/canvas/DrawOperations.groovy | 2 +- .../javafx/canvas/FillArcOperation.groovy | 2 +- .../javafx/canvas/FillOperation.groovy | 2 +- .../javafx/canvas/FillOvalOperation.groovy | 2 +- .../javafx/canvas/FillPolygonOperation.groovy | 2 +- .../javafx/canvas/FillRectOperation.groovy | 2 +- .../canvas/FillRoundRectOperation.groovy | 2 +- .../javafx/canvas/FillTextOperation.groovy | 2 +- .../javafx/canvas/LineToOperation.groovy | 2 +- .../javafx/canvas/MoveToOperation.groovy | 2 +- .../canvas/QuadraticCurveToOperation.groovy | 2 +- .../javafx/canvas/RectOperation.groovy | 2 +- .../javafx/canvas/RestoreOperation.groovy | 2 +- .../javafx/canvas/RotateOperation.groovy | 2 +- .../javafx/canvas/SaveOperation.groovy | 2 +- .../javafx/canvas/ScaleOperation.groovy | 2 +- .../javafx/canvas/SetEffectOperation.groovy | 2 +- .../javafx/canvas/SetFillOperation.groovy | 2 +- .../javafx/canvas/SetFillRuleOperation.groovy | 2 +- .../javafx/canvas/SetFontOperation.groovy | 2 +- .../canvas/SetGlobalAlphaOperation.groovy | 2 +- .../canvas/SetGlobalBlendModeOperation.groovy | 2 +- .../javafx/canvas/SetLineCapOperation.groovy | 2 +- .../javafx/canvas/SetLineJoinOperation.groovy | 2 +- .../canvas/SetLineWidthOperation.groovy | 2 +- .../canvas/SetMiterLimitOperation.groovy | 2 +- .../javafx/canvas/SetStrokeOperation.groovy | 2 +- .../canvas/SetTextAlignOperation.groovy | 2 +- .../canvas/SetTextBaselineOperation.groovy | 2 +- .../canvas/SetTransformOperation.groovy | 2 +- .../javafx/canvas/StrokeArcOperation.groovy | 2 +- .../javafx/canvas/StrokeLineOperation.groovy | 2 +- .../javafx/canvas/StrokeOperation.groovy | 2 +- .../javafx/canvas/StrokeOvalOperation.groovy | 2 +- .../canvas/StrokePolygonOperation.groovy | 2 +- .../canvas/StrokePolylineOperation.groovy | 2 +- .../javafx/canvas/StrokeRectOperation.groovy | 2 +- .../canvas/StrokeRoundRectOperation.groovy | 2 +- .../javafx/canvas/StrokeTextOperation.groovy | 2 +- .../javafx/canvas/TransformOperation.groovy | 2 +- .../javafx/canvas/TranslateOperation.groovy | 2 +- .../event/AbstractClosureProperty.groovy | 2 +- .../javafx/event/GroovyCallback.groovy | 2 +- .../javafx/event/GroovyChangeListener.groovy | 2 +- .../javafx/event/GroovyEventHandler.groovy | 2 +- .../event/GroovyInvalidationListener.groovy | 2 +- .../extension/BooleanBindingExtension.groovy | 2 +- .../javafx/extension/ControlsExtension.groovy | 2 +- .../javafx/extension/NodeExtension.groovy | 2 +- .../extension/NumberBindingExtension.groovy | 2 +- .../javafx/extension/NumberExtension.groovy | 2 +- .../ReadOnlyBooleanPropertyExtension.groovy | 2 +- .../ReadOnlyDoublePropertyExtension.groovy | 2 +- .../ReadOnlyFloatPropertyExtension.groovy | 2 +- .../ReadOnlyIntegerPropertyExtension.groovy | 2 +- .../ReadOnlyListPropertyExtension.groovy | 2 +- .../ReadOnlyLongPropertyExtension.groovy | 2 +- .../ReadOnlyMapPropertyExtension.groovy | 2 +- .../ReadOnlyObjectPropertyExtension.groovy | 2 +- .../factory/AbstractFxBeanFactory.groovy | 2 +- .../factory/AbstractGradientFactory.groovy | 2 +- .../javafx/factory/AbstractNodeFactory.groovy | 2 +- .../javafx/factory/ActionFactory.groovy | 2 +- .../groovyx/javafx/factory/AxisFactory.groovy | 2 +- .../groovyx/javafx/factory/BindFactory.groovy | 2 +- .../javafx/factory/BorderPanePosition.groovy | 2 +- .../factory/BorderPanePositionFactory.groovy | 2 +- .../CanvasClosureOperationFactory.groovy | 2 +- .../javafx/factory/CanvasFactory.groovy | 2 +- .../factory/CanvasOperationFactory.groovy | 2 +- .../groovyx/javafx/factory/CellFactory.groovy | 2 +- .../javafx/factory/ChangeFactory.groovy | 2 +- .../groovyx/javafx/factory/ClipFactory.groovy | 2 +- .../groovyx/javafx/factory/ClipHolder.groovy | 2 +- .../factory/ClosureHandlerFactory.groovy | 2 +- .../javafx/factory/ClosureHolder.groovy | 2 +- .../javafx/factory/ColorFactory.groovy | 2 +- .../javafx/factory/ContainerFactory.groovy | 2 +- .../javafx/factory/ControlFactory.groovy | 2 +- .../javafx/factory/CustomNodeFactory.groovy | 2 +- .../javafx/factory/DividerPosition.groovy | 2 +- .../factory/DividerPositionFactory.groovy | 2 +- .../groovyx/javafx/factory/DrawFactory.groovy | 2 +- .../javafx/factory/EffectFactory.groovy | 2 +- .../javafx/factory/EffectWrapper.groovy | 2 +- .../groovyx/javafx/factory/FXHelper.groovy | 2 +- .../groovyx/javafx/factory/FXMLFactory.groovy | 2 +- .../javafx/factory/FXMLLoaderBuilder.groovy | 2 +- .../groovyx/javafx/factory/FillFactory.groovy | 2 +- .../javafx/factory/FilterFactory.groovy | 2 +- .../groovyx/javafx/factory/FontFactory.groovy | 2 +- .../groovyx/javafx/factory/Graphic.groovy | 2 +- .../javafx/factory/GraphicFactory.groovy | 2 +- .../groovyx/javafx/factory/GridColumn.groovy | 2 +- .../javafx/factory/GridConstraint.groovy | 2 +- .../factory/GridConstraintFactory.groovy | 2 +- .../groovyx/javafx/factory/GridRow.groovy | 2 +- .../factory/GridRowColumnFactory.groovy | 2 +- .../javafx/factory/ImageFactory.groovy | 2 +- .../javafx/factory/ImageViewFactory.groovy | 2 +- .../javafx/factory/LabeledFactory.groovy | 2 +- .../factory/LinearGradientFactory.groovy | 2 +- .../javafx/factory/ListViewFactory.groovy | 2 +- .../javafx/factory/MediaPlayerFactory.groovy | 2 +- .../javafx/factory/MediaViewFactory.groovy | 2 +- .../groovyx/javafx/factory/MenuFactory.groovy | 2 +- .../javafx/factory/MenuItemFactory.groovy | 2 +- .../groovyx/javafx/factory/NodeFactory.groovy | 2 +- .../javafx/factory/PathElementFactory.groovy | 2 +- .../groovyx/javafx/factory/PathFactory.groovy | 2 +- .../javafx/factory/PieChartFactory.groovy | 2 +- .../factory/RadialGradientFactory.groovy | 2 +- .../javafx/factory/ResourceFactory.groovy | 2 +- .../javafx/factory/RowColumnInfo.groovy | 2 +- .../javafx/factory/SceneFactory.groovy | 2 +- .../javafx/factory/ShapeFactory.groovy | 2 +- .../javafx/factory/StageFactory.groovy | 2 +- .../groovyx/javafx/factory/StopFactory.groovy | 2 +- .../javafx/factory/StrokeFactory.groovy | 2 +- .../javafx/factory/StylesheetFactory.groovy | 2 +- .../groovyx/javafx/factory/TabFactory.groovy | 2 +- .../javafx/factory/TableCellFactory.groovy | 2 +- .../javafx/factory/TableFactory.groovy | 2 +- .../javafx/factory/TableRowFactory.groovy | 2 +- .../groovyx/javafx/factory/TextFactory.groovy | 2 +- .../javafx/factory/TitledContent.groovy | 2 +- .../javafx/factory/TitledFactory.groovy | 2 +- .../groovyx/javafx/factory/TitledNode.groovy | 2 +- .../javafx/factory/TransformFactory.groovy | 2 +- .../javafx/factory/TransitionFactory.groovy | 2 +- .../javafx/factory/TreeItemFactory.groovy | 2 +- .../groovyx/javafx/factory/WebFactory.groovy | 2 +- .../javafx/factory/XYChartFactory.groovy | 2 +- .../javafx/factory/XYSeriesFactory.groovy | 2 +- .../javafx/factory/animation/Binding.groovy | 2 +- .../javafx/factory/animation/Change.groovy | 2 +- .../factory/animation/GroovyVariable.groovy | 2 +- .../factory/animation/KeyFrameFactory.groovy | 2 +- .../factory/animation/KeyFrameWrapper.groovy | 2 +- .../factory/animation/KeyValueFactory.groovy | 2 +- .../animation/KeyValueSubFactory.groovy | 2 +- .../factory/animation/TimelineFactory.groovy | 2 +- .../javafx/factory/animation/VarRef.groovy | 2 +- src/main/groovy/idesupport/GDSLInfo.groovy | 2 +- src/main/groovy/idesupport/groovyfx.gdsl | 2 +- .../groovy/groovyx/javafx/GroovyFXTest.groovy | 4 ++-- .../javafx/SceneGraphBuilderTest.groovy | 4 ++-- .../javafx/beans/FXBindableTest.groovy | 2 +- .../extension/NumberExtensionSpec.groovy | 2 +- 263 files changed, 281 insertions(+), 278 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index a69e9f5..e86ac5a 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2011-2021 the original author or authors. +# Copyright 2011-2024 the original author or authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/build.gradle b/build.gradle index 1e691d7..230e53c 100755 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,9 @@ +import org.javamodularity.moduleplugin.tasks.ModularJavaExec + /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +25,7 @@ plugins { id 'org.kordamp.gradle.coveralls' id 'org.openjfx.javafxplugin' id 'org.asciidoctor.jvm.convert' - id 'org.jonnyzzz.java9c' + //id 'org.jonnyzzz.java9c' id 'org.javamodularity.moduleplugin' id 'com.google.osdetector' } @@ -100,21 +102,21 @@ config { link 'http://junit.org/javadoc/latest/', 'org.junit.', 'junit.' link 'http://docs.oracle.com/javase/8/docs/api/', 'java.', 'org.xml.', 'javax.', 'org.w3c.' link 'http://docs.oracle.com/javase/8/javafx/api/', 'javafx.' - link 'http://docs.groovy-lang.org/latest/html/api/', 'groovy.', 'org.codehaus.groovy' + link 'http://docs.groovy-lang.org/latest/html/api/', 'groovy.', 'org.apache.groovy' } } } coverage { jacoco { - toolVersion = '0.8.6' + toolVersion = '0.8.12' } } } repositories { if (project.hasProperty('groovyfx_useMavenLocal') && Boolean.valueOf(project.groovyfx_useMavenLocal)) { mavenLocal() } - jcenter() + mavenCentral() } configurations { @@ -134,14 +136,15 @@ javafx { } dependencies { - compile "org.codehaus.groovy:groovy-all:${groovyfx_groovyVersion}" + compile "org.apache.groovy:groovy-all:${groovyfx_groovyVersion}" testCompile "junit:junit:${groovyfx_junitVersion}" jansi "org.fusesource.jansi:jansi:${groovyfx_jansiVersion}" testCompile("org.spockframework:spock-core:${groovyfx_spockVersion}") { - exclude group: 'org.codehaus.groovy', module: 'groovy-all' + exclude group: 'org.apache.groovy', module: 'groovy-all' } } +// DO 'gradlew licenseFormat' TO FIX LICENSE ISSUES license { mapping { java = 'SLASHSTAR_STYLE' @@ -205,7 +208,7 @@ processResources { sourceSets { demo { - compileClasspath += sourceSets.main.output + configurations.compile + compileClasspath += sourceSets.main.output + configurations.runtimeClasspath runtimeClasspath += sourceSets.main.output groovy { srcDir 'src/demo/groovy' @@ -220,7 +223,7 @@ sourceSets { new File('src/demo/groovy/demo').eachFileMatch(~/.*Demo.groovy/) { file -> def demoClassName = file.name - '.groovy' - task "run$demoClassName"(type: org.javamodularity.moduleplugin.tasks.ModularJavaExec) { + task "run$demoClassName"(type: ModularJavaExec) { group = "Demo" description = "Run the $demoClassName program" main = "groovyfx.demo/demo.$demoClassName" diff --git a/gradle.properties b/gradle.properties index bec50b4..ee61f70 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2011-2021 the original author or authors. +# Copyright 2011-2024 the original author or authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,9 +20,9 @@ group = org.groovyfx archivesBaseName = groovyfx version = 11.0.0-SNAPSHOT groovyfx_javafxVersion = 11 -groovyfx_groovyVersion = 3.0.7 +groovyfx_groovyVersion = 4.0.22 groovyfx_junitVersion = 4.13.2 -groovyfx_spockVersion = 2.0-M3-groovy-3.0 +groovyfx_spockVersion = 2.4-M4-groovy-4.0 groovyfx_jansiVersion = 1.18 kordampPluginVersion = 0.44.0 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 442d913..19cfad9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index cd74acd..b968b3a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,10 +24,10 @@ pluginManagement { id 'org.kordamp.gradle.groovy-project' version kordampPluginVersion id 'org.kordamp.gradle.bintray' version kordampPluginVersion id 'org.kordamp.gradle.coveralls' version kordampPluginVersion - id 'org.openjfx.javafxplugin' version '0.0.9' + id 'org.openjfx.javafxplugin' version '0.1.0' id 'org.asciidoctor.jvm.convert' version '3.3.2' - id 'org.jonnyzzz.java9c' version '0.2.3' - id 'org.javamodularity.moduleplugin' version '1.7.0' + //id 'org.jonnyzzz.java9c' version '0.2.3' + id 'org.javamodularity.moduleplugin' version '1.8.15' id 'com.google.osdetector' version '1.6.2' } } diff --git a/src/demo/groovy/demo/AccordionDemo.groovy b/src/demo/groovy/demo/AccordionDemo.groovy index 6951a9c..95459f7 100644 --- a/src/demo/groovy/demo/AccordionDemo.groovy +++ b/src/demo/groovy/demo/AccordionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ActionMenuDemo.groovy b/src/demo/groovy/demo/ActionMenuDemo.groovy index db723e7..f7d1bd4 100644 --- a/src/demo/groovy/demo/ActionMenuDemo.groovy +++ b/src/demo/groovy/demo/ActionMenuDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/AnalogClockDemo.groovy b/src/demo/groovy/demo/AnalogClockDemo.groovy index ba9bc14..f6014c9 100644 --- a/src/demo/groovy/demo/AnalogClockDemo.groovy +++ b/src/demo/groovy/demo/AnalogClockDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/AnchorDemo.groovy b/src/demo/groovy/demo/AnchorDemo.groovy index 06b1912..7f1d7e3 100644 --- a/src/demo/groovy/demo/AnchorDemo.groovy +++ b/src/demo/groovy/demo/AnchorDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/AnimationDemo.groovy b/src/demo/groovy/demo/AnimationDemo.groovy index 475443c..ce4b0c4 100644 --- a/src/demo/groovy/demo/AnimationDemo.groovy +++ b/src/demo/groovy/demo/AnimationDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/BindDemo.groovy b/src/demo/groovy/demo/BindDemo.groovy index 8538988..0b743de 100644 --- a/src/demo/groovy/demo/BindDemo.groovy +++ b/src/demo/groovy/demo/BindDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/BlendEffectDemo.groovy b/src/demo/groovy/demo/BlendEffectDemo.groovy index a3d84c4..a920654 100644 --- a/src/demo/groovy/demo/BlendEffectDemo.groovy +++ b/src/demo/groovy/demo/BlendEffectDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/BorderPaneDemo.groovy b/src/demo/groovy/demo/BorderPaneDemo.groovy index bb9ac3c..8f69090 100644 --- a/src/demo/groovy/demo/BorderPaneDemo.groovy +++ b/src/demo/groovy/demo/BorderPaneDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ButtonBarDemo.groovy b/src/demo/groovy/demo/ButtonBarDemo.groovy index 13cc43a..7ee7895 100644 --- a/src/demo/groovy/demo/ButtonBarDemo.groovy +++ b/src/demo/groovy/demo/ButtonBarDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/CanvasDemo.groovy b/src/demo/groovy/demo/CanvasDemo.groovy index 3a69960..9296c68 100644 --- a/src/demo/groovy/demo/CanvasDemo.groovy +++ b/src/demo/groovy/demo/CanvasDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ChainedEffectsDemo.groovy b/src/demo/groovy/demo/ChainedEffectsDemo.groovy index 09789fb..f49ca5e 100644 --- a/src/demo/groovy/demo/ChainedEffectsDemo.groovy +++ b/src/demo/groovy/demo/ChainedEffectsDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ChartDemo.groovy b/src/demo/groovy/demo/ChartDemo.groovy index fe66c1e..b931205 100644 --- a/src/demo/groovy/demo/ChartDemo.groovy +++ b/src/demo/groovy/demo/ChartDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ChoiceBoxDemo.groovy b/src/demo/groovy/demo/ChoiceBoxDemo.groovy index 37f605d..9eb065c 100644 --- a/src/demo/groovy/demo/ChoiceBoxDemo.groovy +++ b/src/demo/groovy/demo/ChoiceBoxDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ChooserDemo.groovy b/src/demo/groovy/demo/ChooserDemo.groovy index 7600dc2..66015a6 100644 --- a/src/demo/groovy/demo/ChooserDemo.groovy +++ b/src/demo/groovy/demo/ChooserDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/CircleDemo.groovy b/src/demo/groovy/demo/CircleDemo.groovy index 0dcb674..7126ce1 100644 --- a/src/demo/groovy/demo/CircleDemo.groovy +++ b/src/demo/groovy/demo/CircleDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ColorfulCirclesDemo.groovy b/src/demo/groovy/demo/ColorfulCirclesDemo.groovy index 87add66..99dc8db 100644 --- a/src/demo/groovy/demo/ColorfulCirclesDemo.groovy +++ b/src/demo/groovy/demo/ColorfulCirclesDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/CustomFieldDemo.groovy b/src/demo/groovy/demo/CustomFieldDemo.groovy index 3e2004f..bbf90e5 100644 --- a/src/demo/groovy/demo/CustomFieldDemo.groovy +++ b/src/demo/groovy/demo/CustomFieldDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/DierksCodeStyleDemo.groovy b/src/demo/groovy/demo/DierksCodeStyleDemo.groovy index ff74ddc..7b5d172 100644 --- a/src/demo/groovy/demo/DierksCodeStyleDemo.groovy +++ b/src/demo/groovy/demo/DierksCodeStyleDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/EffectsDemo.groovy b/src/demo/groovy/demo/EffectsDemo.groovy index 2e7b487..139fbf9 100644 --- a/src/demo/groovy/demo/EffectsDemo.groovy +++ b/src/demo/groovy/demo/EffectsDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FXBindableDemo.groovy b/src/demo/groovy/demo/FXBindableDemo.groovy index fbb5873..556f901 100644 --- a/src/demo/groovy/demo/FXBindableDemo.groovy +++ b/src/demo/groovy/demo/FXBindableDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FXMLDemo.groovy b/src/demo/groovy/demo/FXMLDemo.groovy index 97cf9b9..d8cfe92 100644 --- a/src/demo/groovy/demo/FXMLDemo.groovy +++ b/src/demo/groovy/demo/FXMLDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FXMLDemoController.groovy b/src/demo/groovy/demo/FXMLDemoController.groovy index 270d4dc..e93b92a 100644 --- a/src/demo/groovy/demo/FXMLDemoController.groovy +++ b/src/demo/groovy/demo/FXMLDemoController.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy b/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy index 98e25fc..37aaba1 100644 --- a/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy +++ b/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FadeTransitionDemo.groovy b/src/demo/groovy/demo/FadeTransitionDemo.groovy index 4c0ddec..3232565 100644 --- a/src/demo/groovy/demo/FadeTransitionDemo.groovy +++ b/src/demo/groovy/demo/FadeTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FillAndStrokeDemo.groovy b/src/demo/groovy/demo/FillAndStrokeDemo.groovy index 424df38..4cf89e7 100644 --- a/src/demo/groovy/demo/FillAndStrokeDemo.groovy +++ b/src/demo/groovy/demo/FillAndStrokeDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FillTransitionDemo.groovy b/src/demo/groovy/demo/FillTransitionDemo.groovy index 8cbad58..fa1f56f 100644 --- a/src/demo/groovy/demo/FillTransitionDemo.groovy +++ b/src/demo/groovy/demo/FillTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/FontDemo.groovy b/src/demo/groovy/demo/FontDemo.groovy index 1102425..0aae2d8 100644 --- a/src/demo/groovy/demo/FontDemo.groovy +++ b/src/demo/groovy/demo/FontDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/GradientDemo.groovy b/src/demo/groovy/demo/GradientDemo.groovy index 2950960..5c0031a 100644 --- a/src/demo/groovy/demo/GradientDemo.groovy +++ b/src/demo/groovy/demo/GradientDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/GridPaneDemo.groovy b/src/demo/groovy/demo/GridPaneDemo.groovy index f7c214c..fbb35f8 100644 --- a/src/demo/groovy/demo/GridPaneDemo.groovy +++ b/src/demo/groovy/demo/GridPaneDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/GroovyFXDemo.groovy b/src/demo/groovy/demo/GroovyFXDemo.groovy index 70d2be1..8e4cf93 100644 --- a/src/demo/groovy/demo/GroovyFXDemo.groovy +++ b/src/demo/groovy/demo/GroovyFXDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/HTMLEditorDemo.groovy b/src/demo/groovy/demo/HTMLEditorDemo.groovy index 961ccaa..ce7c014 100644 --- a/src/demo/groovy/demo/HTMLEditorDemo.groovy +++ b/src/demo/groovy/demo/HTMLEditorDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/HelloWorldDemo.groovy b/src/demo/groovy/demo/HelloWorldDemo.groovy index 75cb8b3..bf314c4 100644 --- a/src/demo/groovy/demo/HelloWorldDemo.groovy +++ b/src/demo/groovy/demo/HelloWorldDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ImageDemo.groovy b/src/demo/groovy/demo/ImageDemo.groovy index 855ac56..b595a09 100644 --- a/src/demo/groovy/demo/ImageDemo.groovy +++ b/src/demo/groovy/demo/ImageDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/LightingEffectDemo.groovy b/src/demo/groovy/demo/LightingEffectDemo.groovy index 0fef0b5..c682297 100644 --- a/src/demo/groovy/demo/LightingEffectDemo.groovy +++ b/src/demo/groovy/demo/LightingEffectDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/LogoDemo.groovy b/src/demo/groovy/demo/LogoDemo.groovy index 461a11f..29a82f6 100644 --- a/src/demo/groovy/demo/LogoDemo.groovy +++ b/src/demo/groovy/demo/LogoDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/MediaViewDemo.groovy b/src/demo/groovy/demo/MediaViewDemo.groovy index 6803908..1563198 100644 --- a/src/demo/groovy/demo/MediaViewDemo.groovy +++ b/src/demo/groovy/demo/MediaViewDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/MenuDemo.groovy b/src/demo/groovy/demo/MenuDemo.groovy index 9ca21a5..79a5716 100644 --- a/src/demo/groovy/demo/MenuDemo.groovy +++ b/src/demo/groovy/demo/MenuDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/PaddingDemo.groovy b/src/demo/groovy/demo/PaddingDemo.groovy index 4d50aa7..6c20264 100644 --- a/src/demo/groovy/demo/PaddingDemo.groovy +++ b/src/demo/groovy/demo/PaddingDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ParallelTransitionDemo.groovy b/src/demo/groovy/demo/ParallelTransitionDemo.groovy index 47f0ead..7845a1c 100644 --- a/src/demo/groovy/demo/ParallelTransitionDemo.groovy +++ b/src/demo/groovy/demo/ParallelTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/PathTransitionDemo.groovy b/src/demo/groovy/demo/PathTransitionDemo.groovy index 91d96ad..700032f 100644 --- a/src/demo/groovy/demo/PathTransitionDemo.groovy +++ b/src/demo/groovy/demo/PathTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/RotateTransitionDemo.groovy b/src/demo/groovy/demo/RotateTransitionDemo.groovy index ec22b80..f0a77ea 100644 --- a/src/demo/groovy/demo/RotateTransitionDemo.groovy +++ b/src/demo/groovy/demo/RotateTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SGTimelineDemo.groovy b/src/demo/groovy/demo/SGTimelineDemo.groovy index 354c8b8..c696243 100644 --- a/src/demo/groovy/demo/SGTimelineDemo.groovy +++ b/src/demo/groovy/demo/SGTimelineDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ScaleTransitionDemo.groovy b/src/demo/groovy/demo/ScaleTransitionDemo.groovy index e779709..10dbfa9 100644 --- a/src/demo/groovy/demo/ScaleTransitionDemo.groovy +++ b/src/demo/groovy/demo/ScaleTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SequenceContentDemo.groovy b/src/demo/groovy/demo/SequenceContentDemo.groovy index 0d57521..955b4eb 100644 --- a/src/demo/groovy/demo/SequenceContentDemo.groovy +++ b/src/demo/groovy/demo/SequenceContentDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SequentialTransitionDemo.groovy b/src/demo/groovy/demo/SequentialTransitionDemo.groovy index 3665e2a..0bae555 100644 --- a/src/demo/groovy/demo/SequentialTransitionDemo.groovy +++ b/src/demo/groovy/demo/SequentialTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SpinnerDemo.groovy b/src/demo/groovy/demo/SpinnerDemo.groovy index b9dd226..63cf900 100644 --- a/src/demo/groovy/demo/SpinnerDemo.groovy +++ b/src/demo/groovy/demo/SpinnerDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SpirographDemo.groovy b/src/demo/groovy/demo/SpirographDemo.groovy index 602b515..872b220 100644 --- a/src/demo/groovy/demo/SpirographDemo.groovy +++ b/src/demo/groovy/demo/SpirographDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SplitPaneDemo.groovy b/src/demo/groovy/demo/SplitPaneDemo.groovy index f4b0138..997c6e1 100644 --- a/src/demo/groovy/demo/SplitPaneDemo.groovy +++ b/src/demo/groovy/demo/SplitPaneDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/StrokeTransitionDemo.groovy b/src/demo/groovy/demo/StrokeTransitionDemo.groovy index 8403cd5..aa8c3bf 100644 --- a/src/demo/groovy/demo/StrokeTransitionDemo.groovy +++ b/src/demo/groovy/demo/StrokeTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/SwingDemo.groovy b/src/demo/groovy/demo/SwingDemo.groovy index ae8482c..2079748 100644 --- a/src/demo/groovy/demo/SwingDemo.groovy +++ b/src/demo/groovy/demo/SwingDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TabDemo.groovy b/src/demo/groovy/demo/TabDemo.groovy index 757ece3..bcbea23 100644 --- a/src/demo/groovy/demo/TabDemo.groovy +++ b/src/demo/groovy/demo/TabDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TableView2Demo.groovy b/src/demo/groovy/demo/TableView2Demo.groovy index acfaeec..185f9e6 100644 --- a/src/demo/groovy/demo/TableView2Demo.groovy +++ b/src/demo/groovy/demo/TableView2Demo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TableViewDemo.groovy b/src/demo/groovy/demo/TableViewDemo.groovy index 19c11a4..c1796d8 100644 --- a/src/demo/groovy/demo/TableViewDemo.groovy +++ b/src/demo/groovy/demo/TableViewDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TextAreaDemo.groovy b/src/demo/groovy/demo/TextAreaDemo.groovy index 9b15905..52d4a88 100644 --- a/src/demo/groovy/demo/TextAreaDemo.groovy +++ b/src/demo/groovy/demo/TextAreaDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TextFieldDemo.groovy b/src/demo/groovy/demo/TextFieldDemo.groovy index e4345f8..3b9a679 100644 --- a/src/demo/groovy/demo/TextFieldDemo.groovy +++ b/src/demo/groovy/demo/TextFieldDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TextFlowDemo.groovy b/src/demo/groovy/demo/TextFlowDemo.groovy index 94847bb..e864add 100644 --- a/src/demo/groovy/demo/TextFlowDemo.groovy +++ b/src/demo/groovy/demo/TextFlowDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TimelineDemo.groovy b/src/demo/groovy/demo/TimelineDemo.groovy index 4207f77..1e9b99a 100644 --- a/src/demo/groovy/demo/TimelineDemo.groovy +++ b/src/demo/groovy/demo/TimelineDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TitledPaneDemo.groovy b/src/demo/groovy/demo/TitledPaneDemo.groovy index d5ed051..8d3698e 100644 --- a/src/demo/groovy/demo/TitledPaneDemo.groovy +++ b/src/demo/groovy/demo/TitledPaneDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ToggleButtonDemo.groovy b/src/demo/groovy/demo/ToggleButtonDemo.groovy index fa72b26..752918e 100644 --- a/src/demo/groovy/demo/ToggleButtonDemo.groovy +++ b/src/demo/groovy/demo/ToggleButtonDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/ToolBarDemo.groovy b/src/demo/groovy/demo/ToolBarDemo.groovy index ee1c7fc..e1077c2 100644 --- a/src/demo/groovy/demo/ToolBarDemo.groovy +++ b/src/demo/groovy/demo/ToolBarDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/Transform3DDemo.groovy b/src/demo/groovy/demo/Transform3DDemo.groovy index f6d50f3..02d8713 100644 --- a/src/demo/groovy/demo/Transform3DDemo.groovy +++ b/src/demo/groovy/demo/Transform3DDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TransitionDemo.groovy b/src/demo/groovy/demo/TransitionDemo.groovy index 4e93f31..f307866 100644 --- a/src/demo/groovy/demo/TransitionDemo.groovy +++ b/src/demo/groovy/demo/TransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TranslateTransitionDemo.groovy b/src/demo/groovy/demo/TranslateTransitionDemo.groovy index f60f550..5361ae4 100644 --- a/src/demo/groovy/demo/TranslateTransitionDemo.groovy +++ b/src/demo/groovy/demo/TranslateTransitionDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TreeViewDemo.groovy b/src/demo/groovy/demo/TreeViewDemo.groovy index 07f9e3c..496917d 100644 --- a/src/demo/groovy/demo/TreeViewDemo.groovy +++ b/src/demo/groovy/demo/TreeViewDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TriggerDemo.groovy b/src/demo/groovy/demo/TriggerDemo.groovy index 835f478..621c000 100644 --- a/src/demo/groovy/demo/TriggerDemo.groovy +++ b/src/demo/groovy/demo/TriggerDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/TwoStagesDemo.groovy b/src/demo/groovy/demo/TwoStagesDemo.groovy index d3f1e85..94253a2 100644 --- a/src/demo/groovy/demo/TwoStagesDemo.groovy +++ b/src/demo/groovy/demo/TwoStagesDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/VanishingCirclesDemo.groovy b/src/demo/groovy/demo/VanishingCirclesDemo.groovy index 7bd5309..dd7debc 100644 --- a/src/demo/groovy/demo/VanishingCirclesDemo.groovy +++ b/src/demo/groovy/demo/VanishingCirclesDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/WebViewDemo.groovy b/src/demo/groovy/demo/WebViewDemo.groovy index 71200aa..5e452e1 100644 --- a/src/demo/groovy/demo/WebViewDemo.groovy +++ b/src/demo/groovy/demo/WebViewDemo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/structure/AllInOne.groovy b/src/demo/groovy/demo/structure/AllInOne.groovy index 17b42c2..7a50c38 100644 --- a/src/demo/groovy/demo/structure/AllInOne.groovy +++ b/src/demo/groovy/demo/structure/AllInOne.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/structure/DemoStyle.groovy b/src/demo/groovy/demo/structure/DemoStyle.groovy index cfcf769..b3ae09f 100644 --- a/src/demo/groovy/demo/structure/DemoStyle.groovy +++ b/src/demo/groovy/demo/structure/DemoStyle.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/groovy/demo/structure/Improved.groovy b/src/demo/groovy/demo/structure/Improved.groovy index 184b75f..2c9c829 100644 --- a/src/demo/groovy/demo/structure/Improved.groovy +++ b/src/demo/groovy/demo/structure/Improved.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/resources/demo/FXMLDemo.fxml b/src/demo/resources/demo/FXMLDemo.fxml index a2eb6dc..ead0b0a 100644 --- a/src/demo/resources/demo/FXMLDemo.fxml +++ b/src/demo/resources/demo/FXMLDemo.fxml @@ -3,7 +3,7 @@ SPDX-License-Identifier: Apache-2.0 - Copyright 2011-2021 the original author or authors. + Copyright 2011-2024 the original author or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/demo/resources/demo/FXMLDemoInline.fxml b/src/demo/resources/demo/FXMLDemoInline.fxml index 4b619c9..2cbd211 100644 --- a/src/demo/resources/demo/FXMLDemoInline.fxml +++ b/src/demo/resources/demo/FXMLDemoInline.fxml @@ -3,7 +3,7 @@ SPDX-License-Identifier: Apache-2.0 - Copyright 2011-2021 the original author or authors. + Copyright 2011-2024 the original author or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/demo/resources/demo/buildertry.fxml b/src/demo/resources/demo/buildertry.fxml index 744b036..0c73de1 100644 --- a/src/demo/resources/demo/buildertry.fxml +++ b/src/demo/resources/demo/buildertry.fxml @@ -3,7 +3,7 @@ SPDX-License-Identifier: Apache-2.0 - Copyright 2011-2021 the original author or authors. + Copyright 2011-2024 the original author or authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/demo/resources/demo/demo.css b/src/demo/resources/demo/demo.css index a8e754b..ddbfa00 100644 --- a/src/demo/resources/demo/demo.css +++ b/src/demo/resources/demo/demo.css @@ -1,7 +1,7 @@ /** * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/demo/resources/demo/groovyfx.css b/src/demo/resources/demo/groovyfx.css index c663c57..0052073 100644 --- a/src/demo/resources/demo/groovyfx.css +++ b/src/demo/resources/demo/groovyfx.css @@ -1,7 +1,7 @@ /** * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/GroovyFX.java b/src/main/groovy/groovyx/javafx/GroovyFX.java index b241289..a9a53b2 100644 --- a/src/main/groovy/groovyx/javafx/GroovyFX.java +++ b/src/main/groovy/groovyx/javafx/GroovyFX.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/GroovyFXEnhancer.groovy b/src/main/groovy/groovyx/javafx/GroovyFXEnhancer.groovy index 6513c12..5d72c1b 100644 --- a/src/main/groovy/groovyx/javafx/GroovyFXEnhancer.groovy +++ b/src/main/groovy/groovyx/javafx/GroovyFXEnhancer.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/InterpolatorEnums.java b/src/main/groovy/groovyx/javafx/InterpolatorEnums.java index 9381cbc..9efb08d 100644 --- a/src/main/groovy/groovyx/javafx/InterpolatorEnums.java +++ b/src/main/groovy/groovyx/javafx/InterpolatorEnums.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy b/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy index f877a67..6b44201 100644 --- a/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy +++ b/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/animation/GTimeline.groovy b/src/main/groovy/groovyx/javafx/animation/GTimeline.groovy index 7fe357a..7205372 100644 --- a/src/main/groovy/groovyx/javafx/animation/GTimeline.groovy +++ b/src/main/groovy/groovyx/javafx/animation/GTimeline.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/animation/TargetHolder.groovy b/src/main/groovy/groovyx/javafx/animation/TargetHolder.groovy index 9852c6e..9ad58af 100644 --- a/src/main/groovy/groovyx/javafx/animation/TargetHolder.groovy +++ b/src/main/groovy/groovyx/javafx/animation/TargetHolder.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/appsupport/Action.java b/src/main/groovy/groovyx/javafx/appsupport/Action.java index b1071e9..ab47f48 100644 --- a/src/main/groovy/groovyx/javafx/appsupport/Action.java +++ b/src/main/groovy/groovyx/javafx/appsupport/Action.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/beans/FXBindable.java b/src/main/groovy/groovyx/javafx/beans/FXBindable.java index 61708b9..437750d 100644 --- a/src/main/groovy/groovyx/javafx/beans/FXBindable.java +++ b/src/main/groovy/groovyx/javafx/beans/FXBindable.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java b/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java index 1b7de19..4ddee37 100644 --- a/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java +++ b/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/BindingHolder.groovy b/src/main/groovy/groovyx/javafx/binding/BindingHolder.groovy index f0940dd..c3c2106 100644 --- a/src/main/groovy/groovyx/javafx/binding/BindingHolder.groovy +++ b/src/main/groovy/groovyx/javafx/binding/BindingHolder.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ConverterProperty.java b/src/main/groovy/groovyx/javafx/binding/ConverterProperty.java index 2d2d686..faf7a57 100644 --- a/src/main/groovy/groovyx/javafx/binding/ConverterProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ConverterProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/GroovyClosureProperty.java b/src/main/groovy/groovyx/javafx/binding/GroovyClosureProperty.java index ec9b87d..ca74b8d 100644 --- a/src/main/groovy/groovyx/javafx/binding/GroovyClosureProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/GroovyClosureProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableBooleanProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableBooleanProperty.java index 2d3c17b..6009e2f 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableBooleanProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableBooleanProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableDoubleProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableDoubleProperty.java index fd20ca5..ff5fd3e 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableDoubleProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableDoubleProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableFloatProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableFloatProperty.java index d67cc16..ac0d5ea 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableFloatProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableFloatProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableIntegerProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableIntegerProperty.java index 670dec1..8968a7c 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableIntegerProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableIntegerProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableLongProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableLongProperty.java index 375b8bb..5b1cab4 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableLongProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableLongProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableObjectProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableObjectProperty.java index 3b37fa0..254d709 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableObjectProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableObjectProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableProperty.java index 07d29c2..3bc6646 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/ScriptVariableStringProperty.java b/src/main/groovy/groovyx/javafx/binding/ScriptVariableStringProperty.java index c1c0e40..f30725f 100644 --- a/src/main/groovy/groovyx/javafx/binding/ScriptVariableStringProperty.java +++ b/src/main/groovy/groovyx/javafx/binding/ScriptVariableStringProperty.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/binding/Util.java b/src/main/groovy/groovyx/javafx/binding/Util.java index f520bd5..cbffa60 100644 --- a/src/main/groovy/groovyx/javafx/binding/Util.java +++ b/src/main/groovy/groovyx/javafx/binding/Util.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/AppendSVGPathOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/AppendSVGPathOperation.groovy index dbf465a..7919a4e 100644 --- a/src/main/groovy/groovyx/javafx/canvas/AppendSVGPathOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/AppendSVGPathOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ApplyEffectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ApplyEffectOperation.groovy index 055d434..ae99810 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ApplyEffectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ApplyEffectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ArcOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ArcOperation.groovy index 40dff59..d30a4da 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ArcOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ArcOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ArcToOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ArcToOperation.groovy index 16729be..a433d99 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ArcToOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ArcToOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/BeginPathOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/BeginPathOperation.groovy index a9438c9..5bd921d 100644 --- a/src/main/groovy/groovyx/javafx/canvas/BeginPathOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/BeginPathOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/BezierCurveToOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/BezierCurveToOperation.groovy index 7af1954..463026e 100644 --- a/src/main/groovy/groovyx/javafx/canvas/BezierCurveToOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/BezierCurveToOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/CanvasOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/CanvasOperation.groovy index 618cee7..7c8cc95 100644 --- a/src/main/groovy/groovyx/javafx/canvas/CanvasOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/CanvasOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ClearRectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ClearRectOperation.groovy index 94bee95..145bbfd 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ClearRectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ClearRectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ClipOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ClipOperation.groovy index 92ded43..9380df9 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ClipOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ClipOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ClosePathOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ClosePathOperation.groovy index a372842..75322b4 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ClosePathOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ClosePathOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ClosureOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ClosureOperation.groovy index 9d9661a..9eb384f 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ClosureOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ClosureOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/DrawImageOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/DrawImageOperation.groovy index 76a49d5..5777c3a 100644 --- a/src/main/groovy/groovyx/javafx/canvas/DrawImageOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/DrawImageOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/DrawOperations.groovy b/src/main/groovy/groovyx/javafx/canvas/DrawOperations.groovy index 8c606f4..df8ec18 100644 --- a/src/main/groovy/groovyx/javafx/canvas/DrawOperations.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/DrawOperations.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillArcOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillArcOperation.groovy index 27e1b2a..83aedd7 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillArcOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillArcOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillOperation.groovy index 9ff4a12..0edabb8 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillOvalOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillOvalOperation.groovy index ca32201..ebd28cb 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillOvalOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillOvalOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillPolygonOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillPolygonOperation.groovy index 65e64e1..0d0ee6e 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillPolygonOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillPolygonOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillRectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillRectOperation.groovy index 91d49d6..1e5e552 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillRectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillRectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillRoundRectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillRoundRectOperation.groovy index d0612d6..c1e6ea9 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillRoundRectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillRoundRectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/FillTextOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/FillTextOperation.groovy index a2e16c7..af6da7d 100644 --- a/src/main/groovy/groovyx/javafx/canvas/FillTextOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/FillTextOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/LineToOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/LineToOperation.groovy index 9323587..25ebf35 100644 --- a/src/main/groovy/groovyx/javafx/canvas/LineToOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/LineToOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/MoveToOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/MoveToOperation.groovy index 2e4fa8f..c772c3c 100644 --- a/src/main/groovy/groovyx/javafx/canvas/MoveToOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/MoveToOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/QuadraticCurveToOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/QuadraticCurveToOperation.groovy index 533a387..4ff8d5b 100644 --- a/src/main/groovy/groovyx/javafx/canvas/QuadraticCurveToOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/QuadraticCurveToOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/RectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/RectOperation.groovy index a6d963b..13ffd76 100644 --- a/src/main/groovy/groovyx/javafx/canvas/RectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/RectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/RestoreOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/RestoreOperation.groovy index 862bb9f..6cd9dad 100644 --- a/src/main/groovy/groovyx/javafx/canvas/RestoreOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/RestoreOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/RotateOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/RotateOperation.groovy index e0b84de..4884fee 100644 --- a/src/main/groovy/groovyx/javafx/canvas/RotateOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/RotateOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SaveOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SaveOperation.groovy index 99d36db..91a8c66 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SaveOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SaveOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/ScaleOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/ScaleOperation.groovy index 1ed9611..1b2861c 100644 --- a/src/main/groovy/groovyx/javafx/canvas/ScaleOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/ScaleOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetEffectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetEffectOperation.groovy index 2e5913a..cc177a0 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetEffectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetEffectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetFillOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetFillOperation.groovy index 25a2bc8..f7ada80 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetFillOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetFillOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetFillRuleOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetFillRuleOperation.groovy index 99ef562..4617e72 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetFillRuleOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetFillRuleOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetFontOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetFontOperation.groovy index 4d804af..8bd8bb7 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetFontOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetFontOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetGlobalAlphaOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetGlobalAlphaOperation.groovy index 212e762..db0f74f 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetGlobalAlphaOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetGlobalAlphaOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetGlobalBlendModeOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetGlobalBlendModeOperation.groovy index e0808dd..f827b08 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetGlobalBlendModeOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetGlobalBlendModeOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetLineCapOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetLineCapOperation.groovy index 7c1c969..f761b5e 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetLineCapOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetLineCapOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetLineJoinOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetLineJoinOperation.groovy index 38386b3..1cefa6e 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetLineJoinOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetLineJoinOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetLineWidthOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetLineWidthOperation.groovy index d6f5c40..b05402d 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetLineWidthOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetLineWidthOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetMiterLimitOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetMiterLimitOperation.groovy index 6cba03a..c590c9d 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetMiterLimitOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetMiterLimitOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetStrokeOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetStrokeOperation.groovy index dc829e3..d0d6a62 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetStrokeOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetStrokeOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetTextAlignOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetTextAlignOperation.groovy index 73701e7..d165f48 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetTextAlignOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetTextAlignOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetTextBaselineOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetTextBaselineOperation.groovy index 6c1fb65..5376a5f 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetTextBaselineOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetTextBaselineOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/SetTransformOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/SetTransformOperation.groovy index a548e7e..045b86c 100644 --- a/src/main/groovy/groovyx/javafx/canvas/SetTransformOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/SetTransformOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeArcOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeArcOperation.groovy index b6d0007..5b978eb 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeArcOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeArcOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeLineOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeLineOperation.groovy index 43d3df7..ab7a681 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeLineOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeLineOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeOperation.groovy index 6877d90..d3e2c55 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeOvalOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeOvalOperation.groovy index 554e33b..e1fa9f7 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeOvalOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeOvalOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokePolygonOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokePolygonOperation.groovy index bfd466e..fbaef24 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokePolygonOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokePolygonOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokePolylineOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokePolylineOperation.groovy index e2e1809..083132c 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokePolylineOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokePolylineOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeRectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeRectOperation.groovy index 22b6ab2..2ad79ef 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeRectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeRectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeRoundRectOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeRoundRectOperation.groovy index ac5aa3d..584d48c 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeRoundRectOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeRoundRectOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/StrokeTextOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/StrokeTextOperation.groovy index ca55498..00b50fc 100644 --- a/src/main/groovy/groovyx/javafx/canvas/StrokeTextOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/StrokeTextOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/TransformOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/TransformOperation.groovy index 4fbd248..a8f9ce4 100644 --- a/src/main/groovy/groovyx/javafx/canvas/TransformOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/TransformOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/canvas/TranslateOperation.groovy b/src/main/groovy/groovyx/javafx/canvas/TranslateOperation.groovy index b5ba0b2..6828335 100644 --- a/src/main/groovy/groovyx/javafx/canvas/TranslateOperation.groovy +++ b/src/main/groovy/groovyx/javafx/canvas/TranslateOperation.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/event/AbstractClosureProperty.groovy b/src/main/groovy/groovyx/javafx/event/AbstractClosureProperty.groovy index 918418c..c88cca0 100644 --- a/src/main/groovy/groovyx/javafx/event/AbstractClosureProperty.groovy +++ b/src/main/groovy/groovyx/javafx/event/AbstractClosureProperty.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/event/GroovyCallback.groovy b/src/main/groovy/groovyx/javafx/event/GroovyCallback.groovy index de94c29..fbbdff4 100644 --- a/src/main/groovy/groovyx/javafx/event/GroovyCallback.groovy +++ b/src/main/groovy/groovyx/javafx/event/GroovyCallback.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/event/GroovyChangeListener.groovy b/src/main/groovy/groovyx/javafx/event/GroovyChangeListener.groovy index 4dba01b..91b3d7f 100644 --- a/src/main/groovy/groovyx/javafx/event/GroovyChangeListener.groovy +++ b/src/main/groovy/groovyx/javafx/event/GroovyChangeListener.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/event/GroovyEventHandler.groovy b/src/main/groovy/groovyx/javafx/event/GroovyEventHandler.groovy index 0348c17..773593b 100644 --- a/src/main/groovy/groovyx/javafx/event/GroovyEventHandler.groovy +++ b/src/main/groovy/groovyx/javafx/event/GroovyEventHandler.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/event/GroovyInvalidationListener.groovy b/src/main/groovy/groovyx/javafx/event/GroovyInvalidationListener.groovy index 7b13d19..883ccf0 100644 --- a/src/main/groovy/groovyx/javafx/event/GroovyInvalidationListener.groovy +++ b/src/main/groovy/groovyx/javafx/event/GroovyInvalidationListener.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/BooleanBindingExtension.groovy b/src/main/groovy/groovyx/javafx/extension/BooleanBindingExtension.groovy index c297842..053ef01 100644 --- a/src/main/groovy/groovyx/javafx/extension/BooleanBindingExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/BooleanBindingExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ControlsExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ControlsExtension.groovy index f616b1c..e20be83 100644 --- a/src/main/groovy/groovyx/javafx/extension/ControlsExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ControlsExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/NodeExtension.groovy b/src/main/groovy/groovyx/javafx/extension/NodeExtension.groovy index 39b8aae..46e4adf 100644 --- a/src/main/groovy/groovyx/javafx/extension/NodeExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/NodeExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/NumberBindingExtension.groovy b/src/main/groovy/groovyx/javafx/extension/NumberBindingExtension.groovy index 510a3e0..80c6582 100644 --- a/src/main/groovy/groovyx/javafx/extension/NumberBindingExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/NumberBindingExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/NumberExtension.groovy b/src/main/groovy/groovyx/javafx/extension/NumberExtension.groovy index e58935c..71fa9b9 100644 --- a/src/main/groovy/groovyx/javafx/extension/NumberExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/NumberExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyBooleanPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyBooleanPropertyExtension.groovy index 267fbd4..e3adfba 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyBooleanPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyBooleanPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyDoublePropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyDoublePropertyExtension.groovy index 875fbf3..e68e4c0 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyDoublePropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyDoublePropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyFloatPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyFloatPropertyExtension.groovy index 3189d44..480cc5a 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyFloatPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyFloatPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyIntegerPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyIntegerPropertyExtension.groovy index 6f49eb9..5175e2c 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyIntegerPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyIntegerPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyListPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyListPropertyExtension.groovy index 95f7db9..168baa8 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyListPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyListPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyLongPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyLongPropertyExtension.groovy index c6b4541..c45d9ff 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyLongPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyLongPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyMapPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyMapPropertyExtension.groovy index 13f4f01..1759080 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyMapPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyMapPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/extension/ReadOnlyObjectPropertyExtension.groovy b/src/main/groovy/groovyx/javafx/extension/ReadOnlyObjectPropertyExtension.groovy index b9c980f..8a87381 100644 --- a/src/main/groovy/groovyx/javafx/extension/ReadOnlyObjectPropertyExtension.groovy +++ b/src/main/groovy/groovyx/javafx/extension/ReadOnlyObjectPropertyExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/AbstractFxBeanFactory.groovy b/src/main/groovy/groovyx/javafx/factory/AbstractFxBeanFactory.groovy index 002b8fd..063e0cc 100644 --- a/src/main/groovy/groovyx/javafx/factory/AbstractFxBeanFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/AbstractFxBeanFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/AbstractGradientFactory.groovy b/src/main/groovy/groovyx/javafx/factory/AbstractGradientFactory.groovy index d282a0c..08349e6 100644 --- a/src/main/groovy/groovyx/javafx/factory/AbstractGradientFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/AbstractGradientFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/AbstractNodeFactory.groovy b/src/main/groovy/groovyx/javafx/factory/AbstractNodeFactory.groovy index 3334b73..d2fe80d 100644 --- a/src/main/groovy/groovyx/javafx/factory/AbstractNodeFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/AbstractNodeFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ActionFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ActionFactory.groovy index aed6938..ac35627 100644 --- a/src/main/groovy/groovyx/javafx/factory/ActionFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ActionFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/AxisFactory.groovy b/src/main/groovy/groovyx/javafx/factory/AxisFactory.groovy index 2c709f1..3464b80 100644 --- a/src/main/groovy/groovyx/javafx/factory/AxisFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/AxisFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/BindFactory.groovy b/src/main/groovy/groovyx/javafx/factory/BindFactory.groovy index f02ce13..1c969f1 100644 --- a/src/main/groovy/groovyx/javafx/factory/BindFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/BindFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/BorderPanePosition.groovy b/src/main/groovy/groovyx/javafx/factory/BorderPanePosition.groovy index f411510..9bb7de9 100644 --- a/src/main/groovy/groovyx/javafx/factory/BorderPanePosition.groovy +++ b/src/main/groovy/groovyx/javafx/factory/BorderPanePosition.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/BorderPanePositionFactory.groovy b/src/main/groovy/groovyx/javafx/factory/BorderPanePositionFactory.groovy index dcdd0af..dc71d2a 100644 --- a/src/main/groovy/groovyx/javafx/factory/BorderPanePositionFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/BorderPanePositionFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/CanvasClosureOperationFactory.groovy b/src/main/groovy/groovyx/javafx/factory/CanvasClosureOperationFactory.groovy index 8987315..93c800b 100644 --- a/src/main/groovy/groovyx/javafx/factory/CanvasClosureOperationFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/CanvasClosureOperationFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/CanvasFactory.groovy b/src/main/groovy/groovyx/javafx/factory/CanvasFactory.groovy index 0baa41a..0f32fcb 100644 --- a/src/main/groovy/groovyx/javafx/factory/CanvasFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/CanvasFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/CanvasOperationFactory.groovy b/src/main/groovy/groovyx/javafx/factory/CanvasOperationFactory.groovy index f9411f8..aa83e8f 100644 --- a/src/main/groovy/groovyx/javafx/factory/CanvasOperationFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/CanvasOperationFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/CellFactory.groovy b/src/main/groovy/groovyx/javafx/factory/CellFactory.groovy index 0242c91..da1f76f 100644 --- a/src/main/groovy/groovyx/javafx/factory/CellFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/CellFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ChangeFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ChangeFactory.groovy index 1c5e85a..d6797b9 100644 --- a/src/main/groovy/groovyx/javafx/factory/ChangeFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ChangeFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ClipFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ClipFactory.groovy index ab791f5..317bd0b 100644 --- a/src/main/groovy/groovyx/javafx/factory/ClipFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ClipFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ClipHolder.groovy b/src/main/groovy/groovyx/javafx/factory/ClipHolder.groovy index 670fda4..8828395 100644 --- a/src/main/groovy/groovyx/javafx/factory/ClipHolder.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ClipHolder.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ClosureHandlerFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ClosureHandlerFactory.groovy index ea55b60..9d08d6c 100644 --- a/src/main/groovy/groovyx/javafx/factory/ClosureHandlerFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ClosureHandlerFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ClosureHolder.groovy b/src/main/groovy/groovyx/javafx/factory/ClosureHolder.groovy index aababc2..012d649 100644 --- a/src/main/groovy/groovyx/javafx/factory/ClosureHolder.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ClosureHolder.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ColorFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ColorFactory.groovy index 8912ed2..9c42150 100644 --- a/src/main/groovy/groovyx/javafx/factory/ColorFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ColorFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ContainerFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ContainerFactory.groovy index 37924bb..a2fce3a 100644 --- a/src/main/groovy/groovyx/javafx/factory/ContainerFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ContainerFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ControlFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ControlFactory.groovy index 623e781..72ba206 100644 --- a/src/main/groovy/groovyx/javafx/factory/ControlFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ControlFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/CustomNodeFactory.groovy b/src/main/groovy/groovyx/javafx/factory/CustomNodeFactory.groovy index 34ccd90..5968723 100644 --- a/src/main/groovy/groovyx/javafx/factory/CustomNodeFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/CustomNodeFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/DividerPosition.groovy b/src/main/groovy/groovyx/javafx/factory/DividerPosition.groovy index 6436c51..4aab7f0 100644 --- a/src/main/groovy/groovyx/javafx/factory/DividerPosition.groovy +++ b/src/main/groovy/groovyx/javafx/factory/DividerPosition.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/DividerPositionFactory.groovy b/src/main/groovy/groovyx/javafx/factory/DividerPositionFactory.groovy index 22ea4d6..508622c 100644 --- a/src/main/groovy/groovyx/javafx/factory/DividerPositionFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/DividerPositionFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/DrawFactory.groovy b/src/main/groovy/groovyx/javafx/factory/DrawFactory.groovy index e4037d5..7491aa7 100644 --- a/src/main/groovy/groovyx/javafx/factory/DrawFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/DrawFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/EffectFactory.groovy b/src/main/groovy/groovyx/javafx/factory/EffectFactory.groovy index 38b3015..f75b58f 100644 --- a/src/main/groovy/groovyx/javafx/factory/EffectFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/EffectFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/EffectWrapper.groovy b/src/main/groovy/groovyx/javafx/factory/EffectWrapper.groovy index ebf7e61..f4ae6e7 100644 --- a/src/main/groovy/groovyx/javafx/factory/EffectWrapper.groovy +++ b/src/main/groovy/groovyx/javafx/factory/EffectWrapper.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/FXHelper.groovy b/src/main/groovy/groovyx/javafx/factory/FXHelper.groovy index 0687b88..fb73aae 100644 --- a/src/main/groovy/groovyx/javafx/factory/FXHelper.groovy +++ b/src/main/groovy/groovyx/javafx/factory/FXHelper.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/FXMLFactory.groovy b/src/main/groovy/groovyx/javafx/factory/FXMLFactory.groovy index 84f2629..4d76e18 100644 --- a/src/main/groovy/groovyx/javafx/factory/FXMLFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/FXMLFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/FXMLLoaderBuilder.groovy b/src/main/groovy/groovyx/javafx/factory/FXMLLoaderBuilder.groovy index 6f28586..d9b0a4f 100644 --- a/src/main/groovy/groovyx/javafx/factory/FXMLLoaderBuilder.groovy +++ b/src/main/groovy/groovyx/javafx/factory/FXMLLoaderBuilder.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/FillFactory.groovy b/src/main/groovy/groovyx/javafx/factory/FillFactory.groovy index 6324c67..3dc0193 100644 --- a/src/main/groovy/groovyx/javafx/factory/FillFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/FillFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/FilterFactory.groovy b/src/main/groovy/groovyx/javafx/factory/FilterFactory.groovy index 78913de..64a2916 100644 --- a/src/main/groovy/groovyx/javafx/factory/FilterFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/FilterFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/FontFactory.groovy b/src/main/groovy/groovyx/javafx/factory/FontFactory.groovy index e18ccc3..a7af060 100644 --- a/src/main/groovy/groovyx/javafx/factory/FontFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/FontFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/Graphic.groovy b/src/main/groovy/groovyx/javafx/factory/Graphic.groovy index 78373fc..5817f0e 100644 --- a/src/main/groovy/groovyx/javafx/factory/Graphic.groovy +++ b/src/main/groovy/groovyx/javafx/factory/Graphic.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/GraphicFactory.groovy b/src/main/groovy/groovyx/javafx/factory/GraphicFactory.groovy index b1d8704..69a63e9 100644 --- a/src/main/groovy/groovyx/javafx/factory/GraphicFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/GraphicFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/GridColumn.groovy b/src/main/groovy/groovyx/javafx/factory/GridColumn.groovy index df17e8f..ebb43a1 100644 --- a/src/main/groovy/groovyx/javafx/factory/GridColumn.groovy +++ b/src/main/groovy/groovyx/javafx/factory/GridColumn.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/GridConstraint.groovy b/src/main/groovy/groovyx/javafx/factory/GridConstraint.groovy index 1877895..d449239 100644 --- a/src/main/groovy/groovyx/javafx/factory/GridConstraint.groovy +++ b/src/main/groovy/groovyx/javafx/factory/GridConstraint.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/GridConstraintFactory.groovy b/src/main/groovy/groovyx/javafx/factory/GridConstraintFactory.groovy index 012c84f..ddfa770 100644 --- a/src/main/groovy/groovyx/javafx/factory/GridConstraintFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/GridConstraintFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/GridRow.groovy b/src/main/groovy/groovyx/javafx/factory/GridRow.groovy index f891e46..fb8e426 100644 --- a/src/main/groovy/groovyx/javafx/factory/GridRow.groovy +++ b/src/main/groovy/groovyx/javafx/factory/GridRow.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/GridRowColumnFactory.groovy b/src/main/groovy/groovyx/javafx/factory/GridRowColumnFactory.groovy index 05fb0b6..52ca16e 100644 --- a/src/main/groovy/groovyx/javafx/factory/GridRowColumnFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/GridRowColumnFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ImageFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ImageFactory.groovy index 63d58e3..9769696 100644 --- a/src/main/groovy/groovyx/javafx/factory/ImageFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ImageFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ImageViewFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ImageViewFactory.groovy index e7d992e..86458e3 100644 --- a/src/main/groovy/groovyx/javafx/factory/ImageViewFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ImageViewFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/LabeledFactory.groovy b/src/main/groovy/groovyx/javafx/factory/LabeledFactory.groovy index c050d2d..f4a243e 100644 --- a/src/main/groovy/groovyx/javafx/factory/LabeledFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/LabeledFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/LinearGradientFactory.groovy b/src/main/groovy/groovyx/javafx/factory/LinearGradientFactory.groovy index 4a4bfc7..64cc393 100644 --- a/src/main/groovy/groovyx/javafx/factory/LinearGradientFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/LinearGradientFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ListViewFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ListViewFactory.groovy index 8b50dd8..2502073 100644 --- a/src/main/groovy/groovyx/javafx/factory/ListViewFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ListViewFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/MediaPlayerFactory.groovy b/src/main/groovy/groovyx/javafx/factory/MediaPlayerFactory.groovy index e403739..25cba03 100644 --- a/src/main/groovy/groovyx/javafx/factory/MediaPlayerFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/MediaPlayerFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/MediaViewFactory.groovy b/src/main/groovy/groovyx/javafx/factory/MediaViewFactory.groovy index 9bbf525..8a2cbcf 100644 --- a/src/main/groovy/groovyx/javafx/factory/MediaViewFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/MediaViewFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/MenuFactory.groovy b/src/main/groovy/groovyx/javafx/factory/MenuFactory.groovy index 0e66031..1ca5ef8 100644 --- a/src/main/groovy/groovyx/javafx/factory/MenuFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/MenuFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/MenuItemFactory.groovy b/src/main/groovy/groovyx/javafx/factory/MenuItemFactory.groovy index 4ce54b6..3149211 100644 --- a/src/main/groovy/groovyx/javafx/factory/MenuItemFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/MenuItemFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/NodeFactory.groovy b/src/main/groovy/groovyx/javafx/factory/NodeFactory.groovy index 9f5b865..e0a9d4b 100644 --- a/src/main/groovy/groovyx/javafx/factory/NodeFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/NodeFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/PathElementFactory.groovy b/src/main/groovy/groovyx/javafx/factory/PathElementFactory.groovy index 86b240a..b225672 100644 --- a/src/main/groovy/groovyx/javafx/factory/PathElementFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/PathElementFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/PathFactory.groovy b/src/main/groovy/groovyx/javafx/factory/PathFactory.groovy index b685c4c..f68dd7d 100644 --- a/src/main/groovy/groovyx/javafx/factory/PathFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/PathFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/PieChartFactory.groovy b/src/main/groovy/groovyx/javafx/factory/PieChartFactory.groovy index 49250d8..689694b 100644 --- a/src/main/groovy/groovyx/javafx/factory/PieChartFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/PieChartFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/RadialGradientFactory.groovy b/src/main/groovy/groovyx/javafx/factory/RadialGradientFactory.groovy index 0b9064a..6d93d6a 100644 --- a/src/main/groovy/groovyx/javafx/factory/RadialGradientFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/RadialGradientFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ResourceFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ResourceFactory.groovy index 70604d1..9efd642 100644 --- a/src/main/groovy/groovyx/javafx/factory/ResourceFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ResourceFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/RowColumnInfo.groovy b/src/main/groovy/groovyx/javafx/factory/RowColumnInfo.groovy index 9b12ed6..69459a8 100644 --- a/src/main/groovy/groovyx/javafx/factory/RowColumnInfo.groovy +++ b/src/main/groovy/groovyx/javafx/factory/RowColumnInfo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/SceneFactory.groovy b/src/main/groovy/groovyx/javafx/factory/SceneFactory.groovy index b3dabab..d3a3bde 100644 --- a/src/main/groovy/groovyx/javafx/factory/SceneFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/SceneFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/ShapeFactory.groovy b/src/main/groovy/groovyx/javafx/factory/ShapeFactory.groovy index f88b9db..d8655c4 100644 --- a/src/main/groovy/groovyx/javafx/factory/ShapeFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/ShapeFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy b/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy index e678abb..e09faa0 100644 --- a/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/StopFactory.groovy b/src/main/groovy/groovyx/javafx/factory/StopFactory.groovy index fdc2496..bd71a89 100644 --- a/src/main/groovy/groovyx/javafx/factory/StopFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/StopFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/StrokeFactory.groovy b/src/main/groovy/groovyx/javafx/factory/StrokeFactory.groovy index bf8252e..05ccfc3 100644 --- a/src/main/groovy/groovyx/javafx/factory/StrokeFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/StrokeFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/StylesheetFactory.groovy b/src/main/groovy/groovyx/javafx/factory/StylesheetFactory.groovy index b97d93b..c564003 100644 --- a/src/main/groovy/groovyx/javafx/factory/StylesheetFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/StylesheetFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TabFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TabFactory.groovy index 52cedc7..4f6fa40 100644 --- a/src/main/groovy/groovyx/javafx/factory/TabFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TabFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TableCellFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TableCellFactory.groovy index cbf1ed6..7ab3ebb 100644 --- a/src/main/groovy/groovyx/javafx/factory/TableCellFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TableCellFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TableFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TableFactory.groovy index e944c26..eb1d525 100644 --- a/src/main/groovy/groovyx/javafx/factory/TableFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TableFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TableRowFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TableRowFactory.groovy index 76d6605..bacce06 100644 --- a/src/main/groovy/groovyx/javafx/factory/TableRowFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TableRowFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TextFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TextFactory.groovy index d960a5a..751c767 100644 --- a/src/main/groovy/groovyx/javafx/factory/TextFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TextFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TitledContent.groovy b/src/main/groovy/groovyx/javafx/factory/TitledContent.groovy index 1ac95fa..9e8b4e7 100644 --- a/src/main/groovy/groovyx/javafx/factory/TitledContent.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TitledContent.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TitledFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TitledFactory.groovy index 1708f1b..6ddc806 100644 --- a/src/main/groovy/groovyx/javafx/factory/TitledFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TitledFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TitledNode.groovy b/src/main/groovy/groovyx/javafx/factory/TitledNode.groovy index df958cb..0c5dc47 100644 --- a/src/main/groovy/groovyx/javafx/factory/TitledNode.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TitledNode.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TransformFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TransformFactory.groovy index 77e2bab..2c041fc 100644 --- a/src/main/groovy/groovyx/javafx/factory/TransformFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TransformFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TransitionFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TransitionFactory.groovy index 324dacb..4a299c7 100644 --- a/src/main/groovy/groovyx/javafx/factory/TransitionFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TransitionFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy index 069fd2a..07950d1 100644 --- a/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/WebFactory.groovy b/src/main/groovy/groovyx/javafx/factory/WebFactory.groovy index 9005149..e111c22 100644 --- a/src/main/groovy/groovyx/javafx/factory/WebFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/WebFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/XYChartFactory.groovy b/src/main/groovy/groovyx/javafx/factory/XYChartFactory.groovy index 78cc52c..6650bf7 100644 --- a/src/main/groovy/groovyx/javafx/factory/XYChartFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/XYChartFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/XYSeriesFactory.groovy b/src/main/groovy/groovyx/javafx/factory/XYSeriesFactory.groovy index cad0ae0..ecc86ef 100644 --- a/src/main/groovy/groovyx/javafx/factory/XYSeriesFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/XYSeriesFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/Binding.groovy b/src/main/groovy/groovyx/javafx/factory/animation/Binding.groovy index a71f59f..7645dd1 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/Binding.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/Binding.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/Change.groovy b/src/main/groovy/groovyx/javafx/factory/animation/Change.groovy index 1998832..c96e4f7 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/Change.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/Change.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/GroovyVariable.groovy b/src/main/groovy/groovyx/javafx/factory/animation/GroovyVariable.groovy index 4ee1989..b9267af 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/GroovyVariable.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/GroovyVariable.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameFactory.groovy b/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameFactory.groovy index 2c18aa0..52d6eaa 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameWrapper.groovy b/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameWrapper.groovy index bffbdc7..4c85449 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameWrapper.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/KeyFrameWrapper.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/KeyValueFactory.groovy b/src/main/groovy/groovyx/javafx/factory/animation/KeyValueFactory.groovy index 9b2d0f9..702c344 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/KeyValueFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/KeyValueFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/KeyValueSubFactory.groovy b/src/main/groovy/groovyx/javafx/factory/animation/KeyValueSubFactory.groovy index bb2a9d1..6cf2be9 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/KeyValueSubFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/KeyValueSubFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/TimelineFactory.groovy b/src/main/groovy/groovyx/javafx/factory/animation/TimelineFactory.groovy index e6e1a94..59b6649 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/TimelineFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/TimelineFactory.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/groovyx/javafx/factory/animation/VarRef.groovy b/src/main/groovy/groovyx/javafx/factory/animation/VarRef.groovy index 5925d87..ed9fd35 100644 --- a/src/main/groovy/groovyx/javafx/factory/animation/VarRef.groovy +++ b/src/main/groovy/groovyx/javafx/factory/animation/VarRef.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/idesupport/GDSLInfo.groovy b/src/main/groovy/idesupport/GDSLInfo.groovy index 4d73865..294d1bc 100644 --- a/src/main/groovy/idesupport/GDSLInfo.groovy +++ b/src/main/groovy/idesupport/GDSLInfo.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/groovy/idesupport/groovyfx.gdsl b/src/main/groovy/idesupport/groovyfx.gdsl index a7c25e0..57f0d56 100644 --- a/src/main/groovy/idesupport/groovyfx.gdsl +++ b/src/main/groovy/idesupport/groovyfx.gdsl @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/groovy/groovyx/javafx/GroovyFXTest.groovy b/src/test/groovy/groovyx/javafx/GroovyFXTest.groovy index 6db9998..348c55a 100644 --- a/src/test/groovy/groovyx/javafx/GroovyFXTest.groovy +++ b/src/test/groovy/groovyx/javafx/GroovyFXTest.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ package groovyx.javafx import javafx.stage.Stage import java.util.concurrent.CountDownLatch -public class GroovyFXTest extends GroovyTestCase { +public class GroovyFXTest extends groovy.test.GroovyAssert { void testStartSetsDelegate() { Stage startParameter diff --git a/src/test/groovy/groovyx/javafx/SceneGraphBuilderTest.groovy b/src/test/groovy/groovyx/javafx/SceneGraphBuilderTest.groovy index 5b95c74..7f73fef 100644 --- a/src/test/groovy/groovyx/javafx/SceneGraphBuilderTest.groovy +++ b/src/test/groovy/groovyx/javafx/SceneGraphBuilderTest.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ */ package groovyx.javafx -class SceneGraphBuilderTest extends GroovyTestCase { +class SceneGraphBuilderTest extends groovy.test.GroovyAssert { void testId() { com.sun.javafx.application.PlatformImpl.startup { // not an official API diff --git a/src/test/groovy/groovyx/javafx/beans/FXBindableTest.groovy b/src/test/groovy/groovyx/javafx/beans/FXBindableTest.groovy index 42519c3..bdb61ea 100644 --- a/src/test/groovy/groovyx/javafx/beans/FXBindableTest.groovy +++ b/src/test/groovy/groovyx/javafx/beans/FXBindableTest.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/test/groovy/groovyx/javafx/extension/NumberExtensionSpec.groovy b/src/test/groovy/groovyx/javafx/extension/NumberExtensionSpec.groovy index e74b718..6657841 100644 --- a/src/test/groovy/groovyx/javafx/extension/NumberExtensionSpec.groovy +++ b/src/test/groovy/groovyx/javafx/extension/NumberExtensionSpec.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2011-2021 the original author or authors. + * Copyright 2011-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From d9bde302c04a988f19dbc056f18fad6d7226833c Mon Sep 17 00:00:00 2001 From: wise-coders Date: Fri, 12 Jul 2024 16:14:07 +0200 Subject: [PATCH 2/9] Library upgrades --- build.gradle | 11 ++++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 230e53c..9258093 100755 --- a/build.gradle +++ b/build.gradle @@ -107,11 +107,12 @@ config { } } + /* coverage { jacoco { toolVersion = '0.8.12' } - } + }*/ } repositories { @@ -136,10 +137,10 @@ javafx { } dependencies { - compile "org.apache.groovy:groovy-all:${groovyfx_groovyVersion}" - testCompile "junit:junit:${groovyfx_junitVersion}" + implementation "org.apache.groovy:groovy-all:${groovyfx_groovyVersion}" + testImplementation "junit:junit:${groovyfx_junitVersion}" jansi "org.fusesource.jansi:jansi:${groovyfx_jansiVersion}" - testCompile("org.spockframework:spock-core:${groovyfx_spockVersion}") { + testImplementation("org.spockframework:spock-core:${groovyfx_spockVersion}") { exclude group: 'org.apache.groovy', module: 'groovy-all' } } @@ -208,7 +209,7 @@ processResources { sourceSets { demo { - compileClasspath += sourceSets.main.output + configurations.runtimeClasspath + runtimeClasspath += sourceSets.main.output + configurations.runtimeClasspath runtimeClasspath += sourceSets.main.output groovy { srcDir 'src/demo/groovy' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 19cfad9..070cb70 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From c342bb578818efff8c5e0f420f3eebfd0a6d0225 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Thu, 18 Jul 2024 07:03:29 +0200 Subject: [PATCH 3/9] Library upgrades --- build.gradle | 8 ++++---- settings.gradle | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 9258093..162351a 100755 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -import org.javamodularity.moduleplugin.tasks.ModularJavaExec +//import org.javamodularity.moduleplugin.tasks.ModularJavaExec /* * SPDX-License-Identifier: Apache-2.0 @@ -26,7 +26,7 @@ plugins { id 'org.openjfx.javafxplugin' id 'org.asciidoctor.jvm.convert' //id 'org.jonnyzzz.java9c' - id 'org.javamodularity.moduleplugin' + //id 'org.javamodularity.moduleplugin' id 'com.google.osdetector' } @@ -209,7 +209,7 @@ processResources { sourceSets { demo { - runtimeClasspath += sourceSets.main.output + configurations.runtimeClasspath + compileClasspath += sourceSets.main.output + configurations.runtimeClasspath runtimeClasspath += sourceSets.main.output groovy { srcDir 'src/demo/groovy' @@ -224,7 +224,7 @@ sourceSets { new File('src/demo/groovy/demo').eachFileMatch(~/.*Demo.groovy/) { file -> def demoClassName = file.name - '.groovy' - task "run$demoClassName"(type: ModularJavaExec) { + task "run$demoClassName"(type: JavaExec) { group = "Demo" description = "Run the $demoClassName program" main = "groovyfx.demo/demo.$demoClassName" diff --git a/settings.gradle b/settings.gradle index b968b3a..8c6954d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -27,7 +27,7 @@ pluginManagement { id 'org.openjfx.javafxplugin' version '0.1.0' id 'org.asciidoctor.jvm.convert' version '3.3.2' //id 'org.jonnyzzz.java9c' version '0.2.3' - id 'org.javamodularity.moduleplugin' version '1.8.15' + //id 'org.javamodularity.moduleplugin' version '1.8.15' id 'com.google.osdetector' version '1.6.2' } } From 833ab8a642d84897ed88d778b9016731fea1ab55 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Fri, 16 Aug 2024 12:45:33 +0200 Subject: [PATCH 4/9] Library upgrades --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 162351a..7c9a374 100755 --- a/build.gradle +++ b/build.gradle @@ -21,8 +21,8 @@ plugins { id 'groovy' id 'idea' id 'org.kordamp.gradle.groovy-project' - id 'org.kordamp.gradle.bintray' - id 'org.kordamp.gradle.coveralls' + //id 'org.kordamp.gradle.bintray' + //id 'org.kordamp.gradle.coveralls' id 'org.openjfx.javafxplugin' id 'org.asciidoctor.jvm.convert' //id 'org.jonnyzzz.java9c' From 3a69fef6b561c11022ef204bcf209ce68b63dd52 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Tue, 20 Aug 2024 14:07:10 +0200 Subject: [PATCH 5/9] Library upgrades --- build.gradle | 30 +- src/demo/groovy/demo/AccordionDemo.groovy | 2 +- src/demo/groovy/demo/ActionMenuDemo.groovy | 2 +- src/demo/groovy/demo/AnalogClockDemo.groovy | 2 +- src/demo/groovy/demo/AnchorDemo.groovy | 2 +- src/demo/groovy/demo/AnimationDemo.groovy | 2 +- src/demo/groovy/demo/BindDemo.groovy | 2 +- src/demo/groovy/demo/BlendEffectDemo.groovy | 2 +- src/demo/groovy/demo/BorderPaneDemo.groovy | 2 +- src/demo/groovy/demo/CanvasDemo.groovy | 2 +- .../groovy/demo/ChainedEffectsDemo.groovy | 10 +- src/demo/groovy/demo/ChoiceBoxDemo.groovy | 2 +- src/demo/groovy/demo/ChooserDemo.groovy | 2 +- src/demo/groovy/demo/CircleDemo.groovy | 2 +- .../groovy/demo/DierksCodeStyleDemo.groovy | 2 +- src/demo/groovy/demo/EffectsDemo.groovy | 2 +- src/demo/groovy/demo/FXMLDemo.groovy | 2 +- .../demo/FXMLDemoFromSceneBuilderFile.groovy | 2 +- .../groovy/demo/FadeTransitionDemo.groovy | 2 +- src/demo/groovy/demo/FillAndStrokeDemo.groovy | 2 +- .../groovy/demo/FillTransitionDemo.groovy | 2 +- src/demo/groovy/demo/FontDemo.groovy | 2 +- src/demo/groovy/demo/GradientDemo.groovy | 2 +- src/demo/groovy/demo/GridPaneDemo.groovy | 2 +- src/demo/groovy/demo/GroovyFXDemo.groovy | 2 +- src/demo/groovy/demo/HTMLEditorDemo.groovy | 2 +- .../groovy/demo/LightingEffectDemo.groovy | 2 +- src/demo/groovy/demo/LogoDemo.groovy | 6 +- src/demo/groovy/demo/MenuDemo.groovy | 2 +- src/demo/groovy/demo/PaddingDemo.groovy | 2 +- .../groovy/demo/ParallelTransitionDemo.groovy | 2 +- .../groovy/demo/PathTransitionDemo.groovy | 2 +- .../groovy/demo/RotateTransitionDemo.groovy | 2 +- src/demo/groovy/demo/SGTimelineDemo.groovy | 2 +- .../groovy/demo/ScaleTransitionDemo.groovy | 2 +- .../groovy/demo/SequenceContentDemo.groovy | 2 +- .../demo/SequentialTransitionDemo.groovy | 2 +- src/demo/groovy/demo/SpirographDemo.groovy | 4 +- src/demo/groovy/demo/SplitPaneDemo.groovy | 2 +- .../groovy/demo/StrokeTransitionDemo.groovy | 2 +- src/demo/groovy/demo/TabDemo.groovy | 2 +- src/demo/groovy/demo/TableView2Demo.groovy | 2 +- src/demo/groovy/demo/TableViewDemo.groovy | 2 +- src/demo/groovy/demo/TextAreaDemo.groovy | 2 +- src/demo/groovy/demo/TextFieldDemo.groovy | 2 +- src/demo/groovy/demo/TimelineDemo.groovy | 2 +- src/demo/groovy/demo/TitledPaneDemo.groovy | 2 +- src/demo/groovy/demo/ToggleButtonDemo.groovy | 2 +- src/demo/groovy/demo/ToolBarDemo.groovy | 2 +- src/demo/groovy/demo/Transform3DDemo.groovy | 2 +- src/demo/groovy/demo/TransitionDemo.groovy | 2 +- .../demo/TranslateTransitionDemo.groovy | 2 +- src/demo/groovy/demo/TreeViewDemo.groovy | 2 +- src/demo/groovy/demo/TriggerDemo.groovy | 2 +- src/demo/groovy/demo/TwoStagesDemo.groovy | 2 +- src/demo/groovy/demo/WebViewDemo.groovy | 2 +- .../groovy/demo/structure/AllInOne.groovy | 2 +- .../groovy/demo/structure/DemoStyle.groovy | 6 +- .../groovyx/javafx/SceneGraphBuilder.groovy | 4 +- .../beans/FXBindableASTTransformation.java | 774 ------------------ 60 files changed, 92 insertions(+), 848 deletions(-) delete mode 100644 src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java diff --git a/build.gradle b/build.gradle index 7c9a374..48d713a 100755 --- a/build.gradle +++ b/build.gradle @@ -95,9 +95,9 @@ config { githubRepo = 'groovyfx-project/groovyfx' } + docs { groovydoc { - replaceJavadoc = true options { link 'http://junit.org/javadoc/latest/', 'org.junit.', 'junit.' link 'http://docs.oracle.com/javase/8/docs/api/', 'java.', 'org.xml.', 'javax.', 'org.w3c.' @@ -122,6 +122,7 @@ repositories { configurations { jansi.extendsFrom(runtime) + demo.extendsFrom(ast) } javafx { @@ -198,6 +199,7 @@ asciidoctor { } processResources { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE from(sourceSets.main.resources.srcDirs) { filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [ 'groovyfx.version': project.version @@ -208,15 +210,31 @@ processResources { // ------------- compiling demo source --------------- sourceSets { + ast { + compileClasspath += configurations.runtimeClasspath + /*groovy { + srcDirs 'src/ast/groovy' + } + resources { + srcDir 'src/ast/resources' + }*/ + } + main { + compileClasspath += sourceSets.ast.output + configurations.runtimeClasspath + runtimeClasspath += sourceSets.ast.output + configurations.runtimeClasspath + /*groovy { + srcDirs 'src/main/groovy' + }*/ + } demo { - compileClasspath += sourceSets.main.output + configurations.runtimeClasspath - runtimeClasspath += sourceSets.main.output - groovy { - srcDir 'src/demo/groovy' + compileClasspath += sourceSets.main.output + sourceSets.ast.output + configurations.runtimeClasspath + runtimeClasspath += sourceSets.main.output + sourceSets.ast.output + configurations.runtimeClasspath + /*groovy { + srcDirs 'src/demo/groovy' } resources { srcDir 'src/demo/resources' - } + }*/ } } diff --git a/src/demo/groovy/demo/AccordionDemo.groovy b/src/demo/groovy/demo/AccordionDemo.groovy index 95459f7..38db3b6 100644 --- a/src/demo/groovy/demo/AccordionDemo.groovy +++ b/src/demo/groovy/demo/AccordionDemo.groovy @@ -23,7 +23,7 @@ import static groovyx.javafx.GroovyFX.start */ start { stage(title: "GroovyFX Accordion Demo", x: 100, y: 100, visible: true, style: "decorated", primary: true) { - scene(fill: GROOVYBLUE, width: 400, height: 400) { + scene(fill: ALICEBLUE, width: 400, height: 400) { accordion { titledPane(id: "t1", text: "Label 1") { content { diff --git a/src/demo/groovy/demo/ActionMenuDemo.groovy b/src/demo/groovy/demo/ActionMenuDemo.groovy index f7d1bd4..51c2fbf 100644 --- a/src/demo/groovy/demo/ActionMenuDemo.groovy +++ b/src/demo/groovy/demo/ActionMenuDemo.groovy @@ -55,7 +55,7 @@ start { } stage(title: "GroovyFX Menu Demo", width: 650, height: 450, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { borderPane { top { menuBar { diff --git a/src/demo/groovy/demo/AnalogClockDemo.groovy b/src/demo/groovy/demo/AnalogClockDemo.groovy index f6014c9..c366307 100644 --- a/src/demo/groovy/demo/AnalogClockDemo.groovy +++ b/src/demo/groovy/demo/AnalogClockDemo.groovy @@ -80,7 +80,7 @@ start { hourDots << circle(fill: BLACK, layoutX: x, layoutY: y, radius: r) } - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { group(layoutX: centerX, layoutY: centerY) { // outer rim circle(radius: radius + 20) { diff --git a/src/demo/groovy/demo/AnchorDemo.groovy b/src/demo/groovy/demo/AnchorDemo.groovy index 7f1d7e3..3aeceaf 100644 --- a/src/demo/groovy/demo/AnchorDemo.groovy +++ b/src/demo/groovy/demo/AnchorDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX AnchorPane Demo", width: 650, height: 450, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { anchorPane { button("ONE", anchor: [10, 110, 10, 10]) button("TWO", rightAnchor: 10, topAnchor: 10) diff --git a/src/demo/groovy/demo/AnimationDemo.groovy b/src/demo/groovy/demo/AnimationDemo.groovy index ce4b0c4..8b5ec4b 100644 --- a/src/demo/groovy/demo/AnimationDemo.groovy +++ b/src/demo/groovy/demo/AnimationDemo.groovy @@ -23,7 +23,7 @@ import static groovyx.javafx.GroovyFX.start */ start { stage(title: "GroovyFX Animation Demo", width: 650, height: 450, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rect1 = rectangle(x: 25, y: 40, width: 100, height: 50, fill: RED) rect2 = rectangle(x: 25, y: 100, width: 100, height: 50, fill: GREEN) } diff --git a/src/demo/groovy/demo/BindDemo.groovy b/src/demo/groovy/demo/BindDemo.groovy index 0b743de..1a10a88 100644 --- a/src/demo/groovy/demo/BindDemo.groovy +++ b/src/demo/groovy/demo/BindDemo.groovy @@ -38,7 +38,7 @@ start { stage(title: "GroovyFX Bind Demo", x: 100, y: 100, width: 400, height: 400, visible: true, style: "decorated", onHidden: { println "Close"}) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { vbox(spacing: 10, padding: 10) { TextField tf = textField(text: 'Change Me!') //button(text: bind(source: tf, sourceProperty: 'text'), onAction: {qt.onClick()}) diff --git a/src/demo/groovy/demo/BlendEffectDemo.groovy b/src/demo/groovy/demo/BlendEffectDemo.groovy index a920654..1a6308e 100644 --- a/src/demo/groovy/demo/BlendEffectDemo.groovy +++ b/src/demo/groovy/demo/BlendEffectDemo.groovy @@ -24,7 +24,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Blend Effect Demo", width: 420, height: 420, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(width: 400, height: 400) { onMousePressed {e -> println "mouse press @$e.x, $e.y"} effect blend(mode: "multiply") { diff --git a/src/demo/groovy/demo/BorderPaneDemo.groovy b/src/demo/groovy/demo/BorderPaneDemo.groovy index 8f69090..f14ed55 100644 --- a/src/demo/groovy/demo/BorderPaneDemo.groovy +++ b/src/demo/groovy/demo/BorderPaneDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX @ JavaOne", show: true) { - scene(fill: GROOVYBLUE, width: 650, height: 450) { + scene(fill: ALICEBLUE, width: 650, height: 450) { borderPane { top(align: CENTER, margin: [10, 0, 10, 0]) { button("Top Button") diff --git a/src/demo/groovy/demo/CanvasDemo.groovy b/src/demo/groovy/demo/CanvasDemo.groovy index 9296c68..96eaead 100644 --- a/src/demo/groovy/demo/CanvasDemo.groovy +++ b/src/demo/groovy/demo/CanvasDemo.groovy @@ -30,7 +30,7 @@ start { f = yellow s = navy stage(title: "Canvas Demo", x: 100, y: 100, visible: true, style: "decorated", primary: true) { - scene(id: "sc", fill: GROOVYBLUE, width: 400, height: 400) { + scene(id: "sc", fill: ALICEBLUE, width: 400, height: 400) { canvas( id:"canvas", width: bind(sc.width()), height: bind(sc.height()) ) { fill(p: bind(this, "f")) fillRect (x:0,y:0, w:bind(canvas.width()), h:bind(canvas.height())) diff --git a/src/demo/groovy/demo/ChainedEffectsDemo.groovy b/src/demo/groovy/demo/ChainedEffectsDemo.groovy index f49ca5e..c66c602 100644 --- a/src/demo/groovy/demo/ChainedEffectsDemo.groovy +++ b/src/demo/groovy/demo/ChainedEffectsDemo.groovy @@ -24,24 +24,24 @@ import static groovyx.javafx.GroovyFX.start start { stage title: "Chained Effects Demo", width: 450, height: 300, visible: true, { - scene fill: GROOVYBLUE, { + scene fill: ALICEBLUE, { //simple rectangle x: 10, y: 10, width: 100, height: 100, fill: WHITESMOKE, { - effect dropShadow(color: YELLOW, input: innerShadow(color: GROOVYBLUE)) + effect dropShadow(color: YELLOW, input: innerShadow(color: ALICEBLUE)) } // changing the sequence leads to different results rectangle x: 120, y: 10, width: 100, height: 100, fill: WHITESMOKE, { - effect innerShadow(color: GROOVYBLUE, input: dropShadow(color: YELLOW)) + effect innerShadow(color: ALICEBLUE, input: dropShadow(color: YELLOW)) } // chaining by using groups group { rectangle x: 230, y: 10, width: 100, height: 100, fill: WHITESMOKE, { - effect innerShadow(color: GROOVYBLUE) + effect innerShadow(color: ALICEBLUE) } effect dropShadow(color: YELLOW) } // changing the effects at runtime - def inner = innerShadow(color: GROOVYBLUE) + def inner = innerShadow(color: ALICEBLUE) def outer = dropShadow(color: YELLOW) rectangle id: 'interactive', x: 340, y: 10, width: 100, height: 100, fill: WHITESMOKE, { effect outer diff --git a/src/demo/groovy/demo/ChoiceBoxDemo.groovy b/src/demo/groovy/demo/ChoiceBoxDemo.groovy index 9eb065c..243a9d7 100644 --- a/src/demo/groovy/demo/ChoiceBoxDemo.groovy +++ b/src/demo/groovy/demo/ChoiceBoxDemo.groovy @@ -22,7 +22,7 @@ import static groovyx.javafx.GroovyFX.start */ start { primaryStage -> stage(title: "GroovyFX Choice Box Demo", width: 400, height: 200, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { vbox(padding: 10, spacing: 5) { choiceBox(value: 'blue', items: ['blue', 'green', 'red']) { onSelect { control, item -> diff --git a/src/demo/groovy/demo/ChooserDemo.groovy b/src/demo/groovy/demo/ChooserDemo.groovy index 66015a6..b92bd7c 100644 --- a/src/demo/groovy/demo/ChooserDemo.groovy +++ b/src/demo/groovy/demo/ChooserDemo.groovy @@ -28,7 +28,7 @@ start { final dirChooser = directoryChooser(initialDirectory: ".", title: "DirectoryChooserDemo"); stage(title: "GroovyFX Chooser Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { vbox(spacing: 10, padding: 10) { hbox(spacing: 10, padding: 10) { button("Open file", onAction: { diff --git a/src/demo/groovy/demo/CircleDemo.groovy b/src/demo/groovy/demo/CircleDemo.groovy index 7126ce1..a61b814 100644 --- a/src/demo/groovy/demo/CircleDemo.groovy +++ b/src/demo/groovy/demo/CircleDemo.groovy @@ -23,7 +23,7 @@ import static groovyx.javafx.GroovyFX.start */ start { stage(title: "Circle (bind) Demo", x: 100, y: 100, visible: true, style: "decorated", primary: true) { - scene(id: "sc", fill: GROOVYBLUE, width: 400, height: 400) { + scene(id: "sc", fill: ALICEBLUE, width: 400, height: 400) { circle( radius: bind(sc.width()/4.0), centerX: bind(sc.width()/2.0), centerY: bind(sc.height()/2.0) diff --git a/src/demo/groovy/demo/DierksCodeStyleDemo.groovy b/src/demo/groovy/demo/DierksCodeStyleDemo.groovy index 7b5d172..1baa792 100644 --- a/src/demo/groovy/demo/DierksCodeStyleDemo.groovy +++ b/src/demo/groovy/demo/DierksCodeStyleDemo.groovy @@ -23,7 +23,7 @@ import static groovyx.javafx.GroovyFX.start */ start { stage title: "Dierk's Code Style Demo", x: 100, y: 100, visible: true, { - scene fill: GROOVYBLUE, width: 400, height: 400, { + scene fill: ALICEBLUE, width: 400, height: 400, { accordion { titledPane "Look inside", { label "Hi! Also try the other groups." diff --git a/src/demo/groovy/demo/EffectsDemo.groovy b/src/demo/groovy/demo/EffectsDemo.groovy index 139fbf9..e0ae224 100644 --- a/src/demo/groovy/demo/EffectsDemo.groovy +++ b/src/demo/groovy/demo/EffectsDemo.groovy @@ -41,7 +41,7 @@ DisplacementMap displacementMap(int w, int h) { // argument (it) is the primaryStage start { stage(title: "GroovyFX Effects Demo", visible: true) { - scene(root: group(), width: 840, height: 680, fill: GROOVYBLUE) { + scene(root: group(), width: 840, height: 680, fill: ALICEBLUE) { /// Perspective group(cache: true, layoutX: 0, layoutY: 0) { rectangle(x: 10, y: 10, width: 280, height: 80, fill: BLUE) diff --git a/src/demo/groovy/demo/FXMLDemo.groovy b/src/demo/groovy/demo/FXMLDemo.groovy index d8cfe92..7ea4c85 100644 --- a/src/demo/groovy/demo/FXMLDemo.groovy +++ b/src/demo/groovy/demo/FXMLDemo.groovy @@ -32,7 +32,7 @@ def xml = """ start { stage(title: "GroovyFX FXML Demo", visible: true) { - scene(fill: GROOVYBLUE, width: 640, height: 800) { + scene(fill: ALICEBLUE, width: 640, height: 800) { vbox(padding: 10) { stackPane { fxml """ diff --git a/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy b/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy index 37aaba1..0e59f39 100644 --- a/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy +++ b/src/demo/groovy/demo/FXMLDemoFromSceneBuilderFile.groovy @@ -25,7 +25,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX FXML Demo", visible: true) { - scene(fill: GROOVYBLUE, width: 640, height: 500) { + scene(fill: ALICEBLUE, width: 640, height: 500) { fxml(new File( getClass().getResource('/demo/buildertry.fxml').toURI() ).text) } } diff --git a/src/demo/groovy/demo/FadeTransitionDemo.groovy b/src/demo/groovy/demo/FadeTransitionDemo.groovy index 3232565..083baed 100644 --- a/src/demo/groovy/demo/FadeTransitionDemo.groovy +++ b/src/demo/groovy/demo/FadeTransitionDemo.groovy @@ -23,7 +23,7 @@ start { Transition rectFade = null stage(title: "GroovyFX Fade Transition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { rectFade = fadeTransition(4.s, delay: 1.s, from: 1.0, to: 0.0, onFinished: { println "done"}) } diff --git a/src/demo/groovy/demo/FillAndStrokeDemo.groovy b/src/demo/groovy/demo/FillAndStrokeDemo.groovy index 4cf89e7..ce51860 100644 --- a/src/demo/groovy/demo/FillAndStrokeDemo.groovy +++ b/src/demo/groovy/demo/FillAndStrokeDemo.groovy @@ -20,7 +20,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Fill & Stroke Demo", width: 600, height: 700, visible: true) { scene { - fill GROOVYBLUE + fill ALICEBLUE def width = 240 def height = 180 diff --git a/src/demo/groovy/demo/FillTransitionDemo.groovy b/src/demo/groovy/demo/FillTransitionDemo.groovy index fa1f56f..45aaa22 100644 --- a/src/demo/groovy/demo/FillTransitionDemo.groovy +++ b/src/demo/groovy/demo/FillTransitionDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: 'GroovyFX Fill Transition Demo', width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { fillTransition(4.s, delay: 1000.ms, interpolator: EASE_IN, to: RED, onFinished: { println 'done'}).playFromStart() diff --git a/src/demo/groovy/demo/FontDemo.groovy b/src/demo/groovy/demo/FontDemo.groovy index 0aae2d8..c694403 100644 --- a/src/demo/groovy/demo/FontDemo.groovy +++ b/src/demo/groovy/demo/FontDemo.groovy @@ -21,7 +21,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(show: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { vbox { text('Text with font "80pt"', font: '80pt') hbox(spacing: 20) { diff --git a/src/demo/groovy/demo/GradientDemo.groovy b/src/demo/groovy/demo/GradientDemo.groovy index 5c0031a..2a26b73 100644 --- a/src/demo/groovy/demo/GradientDemo.groovy +++ b/src/demo/groovy/demo/GradientDemo.groovy @@ -26,7 +26,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Gradient Demo", width: 1020, height: 450, visible: true) { scene { - fill GROOVYBLUE + fill ALICEBLUE def width = 240 def height = 180 diff --git a/src/demo/groovy/demo/GridPaneDemo.groovy b/src/demo/groovy/demo/GridPaneDemo.groovy index fbb35f8..d98dfd5 100644 --- a/src/demo/groovy/demo/GridPaneDemo.groovy +++ b/src/demo/groovy/demo/GridPaneDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GridPane Demo", width: 400, height: 500, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { gridPane(hgap: 5, vgap: 10, padding: 25, alignment: "top_center") { columnConstraints(minWidth: 50, halignment: "right") columnConstraints(prefWidth: 250, hgrow: 'always') diff --git a/src/demo/groovy/demo/GroovyFXDemo.groovy b/src/demo/groovy/demo/GroovyFXDemo.groovy index 8e4cf93..497b189 100644 --- a/src/demo/groovy/demo/GroovyFXDemo.groovy +++ b/src/demo/groovy/demo/GroovyFXDemo.groovy @@ -35,7 +35,7 @@ start { stage(title: "GroovyFX Demo", x: 100, y: 100, width: 480, height: 800, visible: true, style: "decorated", onHidden: { println "Close"}) { - scene(fill: GROOVYBLUE, root: group(), stylesheets: resource("/demo/groovyfx.css")) { + scene(fill: ALICEBLUE, root: group(), stylesheets: resource("/demo/groovyfx.css")) { onMousePressed {e -> println "scene press @" + e.x + "," + e.y } onKeyReleased { e -> println "scene key" + e.text} onChange("width") { observable, oldValue, newValue -> diff --git a/src/demo/groovy/demo/HTMLEditorDemo.groovy b/src/demo/groovy/demo/HTMLEditorDemo.groovy index ce7c014..290b203 100644 --- a/src/demo/groovy/demo/HTMLEditorDemo.groovy +++ b/src/demo/groovy/demo/HTMLEditorDemo.groovy @@ -23,7 +23,7 @@ import static groovyx.javafx.GroovyFX.start */ start { stage(title: "HTMLEditor Demo", x: 100, y: 100, visible: true, style: "decorated") { - scene(fill: GROOVYBLUE, width: 480, height: 400) { + scene(fill: ALICEBLUE, width: 480, height: 400) { borderPane() { html = htmlEditor() bottom(align: "center", margin: [10, 0]) { diff --git a/src/demo/groovy/demo/LightingEffectDemo.groovy b/src/demo/groovy/demo/LightingEffectDemo.groovy index c682297..f91b679 100644 --- a/src/demo/groovy/demo/LightingEffectDemo.groovy +++ b/src/demo/groovy/demo/LightingEffectDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "Lighting Effect Demo", width: 520, height: 300, visible: true, style: "decorated") { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { text(x: 10, y: 10, text: "Light Effect", font: "bold 48pt Amble", fill: YELLOW, textOrigin: TOP) { lighting(surfaceScale: 5.0) { // distant(azimuth: -135) diff --git a/src/demo/groovy/demo/LogoDemo.groovy b/src/demo/groovy/demo/LogoDemo.groovy index 29a82f6..33cc395 100644 --- a/src/demo/groovy/demo/LogoDemo.groovy +++ b/src/demo/groovy/demo/LogoDemo.groovy @@ -27,7 +27,7 @@ import static groovyx.javafx.GroovyFX.start start { stage title: "GroovyFX Logo", x: 10, y: 10, visible: true, { - scene(fill: GROOVYBLUE, width: 300, height: 300) { + scene(fill: ALICEBLUE, width: 300, height: 300) { stackPane { rectangle x: 0, y: 0, width: 120, height: 120, opacity: 0d borderPane id: 'parent', { @@ -53,7 +53,7 @@ start { def star(SceneGraphBuilder builder, int angle, List stops) { builder.with { - path(stroke: GROOVYBLUE, strokeWidth: 0.5, rotate: angle, opacity: 0.9) { + path(stroke: ALICEBLUE, strokeWidth: 0.5, rotate: angle, opacity: 0.9) { fill linearGradient(start: [0, 0], end: [1, 1], stops: stops) moveTo x: 50, y: 00 lineTo x: 61, y: 36 @@ -74,7 +74,7 @@ def star(SceneGraphBuilder builder, int angle, List stops) { def fxLabel(SceneGraphBuilder builder) { builder.group(scaleX: 0.25, scaleY: 0.25, translateX: 6, translateY: 4) { path strokeWidth: 0d, { - metal = fill radialGradient(stops: [GROOVYBLUE.brighter(), GROOVYBLUE.darker()]) + metal = fill radialGradient(stops: [ALICEBLUE.brighter(), ALICEBLUE.darker()]) moveTo x: 64, y: 0 lineTo x: 62, y: 17 cubicCurveTo controlX1: 62, controlY1: 17, controlX2: 28, controlY2: 17, x: 28, y: 17 diff --git a/src/demo/groovy/demo/MenuDemo.groovy b/src/demo/groovy/demo/MenuDemo.groovy index 79a5716..f44281c 100644 --- a/src/demo/groovy/demo/MenuDemo.groovy +++ b/src/demo/groovy/demo/MenuDemo.groovy @@ -24,7 +24,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Menu Demo", width: 650, height: 450, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { borderPane { top { menuBar { diff --git a/src/demo/groovy/demo/PaddingDemo.groovy b/src/demo/groovy/demo/PaddingDemo.groovy index 6c20264..b02972f 100644 --- a/src/demo/groovy/demo/PaddingDemo.groovy +++ b/src/demo/groovy/demo/PaddingDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Padding Demo", width: 800, height: 800, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { vbox(spacing: 30, fillWidth: false, alignment: "center") { stackPane(style: "-fx-background-color: burlywood", padding: 20) { text("Padding: 20", fill: SIENNA, font: "48pt") diff --git a/src/demo/groovy/demo/ParallelTransitionDemo.groovy b/src/demo/groovy/demo/ParallelTransitionDemo.groovy index 7845a1c..04ea13c 100644 --- a/src/demo/groovy/demo/ParallelTransitionDemo.groovy +++ b/src/demo/groovy/demo/ParallelTransitionDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Parllel Transition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { rectTransition = parallelTransition(onFinished: { println "parallel done" }) { translateTransition(5.s, tween: EASE_OUT, to: 100, onFinished: { println "translate done" }) diff --git a/src/demo/groovy/demo/PathTransitionDemo.groovy b/src/demo/groovy/demo/PathTransitionDemo.groovy index 700032f..eabe5a8 100644 --- a/src/demo/groovy/demo/PathTransitionDemo.groovy +++ b/src/demo/groovy/demo/PathTransitionDemo.groovy @@ -29,7 +29,7 @@ start { } stage(title: "GroovyFX Path Transition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { final thePath = path(translateX: 50, translateY: 50, fill: TRANSPARENT, stroke: GREEN, strokeWidth: 5) { moveTo(x: 0, y: 0) lineTo(x: 100, y: 0) diff --git a/src/demo/groovy/demo/RotateTransitionDemo.groovy b/src/demo/groovy/demo/RotateTransitionDemo.groovy index f0a77ea..7170b06 100644 --- a/src/demo/groovy/demo/RotateTransitionDemo.groovy +++ b/src/demo/groovy/demo/RotateTransitionDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX RotateTransition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { rotateTransition(2.s, delay: 500.ms, interpolator: LINEAR, to: 180.0).playFromStart() } diff --git a/src/demo/groovy/demo/SGTimelineDemo.groovy b/src/demo/groovy/demo/SGTimelineDemo.groovy index c696243..6bba15e 100644 --- a/src/demo/groovy/demo/SGTimelineDemo.groovy +++ b/src/demo/groovy/demo/SGTimelineDemo.groovy @@ -24,7 +24,7 @@ start { def r = 90; stage(title: "GroovyFX Timeline Demo", width: 200, height: 200, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { map = circle(radius: 25) { fill(RED) } diff --git a/src/demo/groovy/demo/ScaleTransitionDemo.groovy b/src/demo/groovy/demo/ScaleTransitionDemo.groovy index 10dbfa9..8b062d9 100644 --- a/src/demo/groovy/demo/ScaleTransitionDemo.groovy +++ b/src/demo/groovy/demo/ScaleTransitionDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Scale Transition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { scaleTransition(2.s, delay: 500.ms, interpolator: LINEAR, to: 0.5).playFromStart() } diff --git a/src/demo/groovy/demo/SequenceContentDemo.groovy b/src/demo/groovy/demo/SequenceContentDemo.groovy index 955b4eb..c367494 100644 --- a/src/demo/groovy/demo/SequenceContentDemo.groovy +++ b/src/demo/groovy/demo/SequenceContentDemo.groovy @@ -22,7 +22,7 @@ start { def r1 = rectangle(width: 100, height: 100, fill: RED) def r2 = rectangle(x: 110, width: 100, height: 100, fill: BLUE) - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { group(children: [r1, r2], layoutX: 20, layoutY: 20) } } diff --git a/src/demo/groovy/demo/SequentialTransitionDemo.groovy b/src/demo/groovy/demo/SequentialTransitionDemo.groovy index 0bae555..8a52be2 100644 --- a/src/demo/groovy/demo/SequentialTransitionDemo.groovy +++ b/src/demo/groovy/demo/SequentialTransitionDemo.groovy @@ -27,7 +27,7 @@ start { } stage(title: "GroovyGX Sequential Transition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE, onMousePressed: {playTransition()}) { rectTransition = sequentialTransition(delay: 100.ms, onFinished: {println "sequential done"}) { translateTransition(2.s, interpolator: EASE_OUT, to: 100, onFinished: {println "translate done"}) diff --git a/src/demo/groovy/demo/SpirographDemo.groovy b/src/demo/groovy/demo/SpirographDemo.groovy index 872b220..daa9602 100644 --- a/src/demo/groovy/demo/SpirographDemo.groovy +++ b/src/demo/groovy/demo/SpirographDemo.groovy @@ -18,7 +18,7 @@ import javafx.geometry.Point2D import javafx.scene.image.Image -import javax.xml.bind.DatatypeConverter +//import javax.xml.bind.DatatypeConverter import static groovyx.javafx.GroovyFX.start @@ -135,7 +135,7 @@ start { img_particle = image(DatatypeConverter.parseBase64Binary(imgData)); strokeColor = rgb(95,68,34,0.4) stage(title: "SpirographFX", x: 100, y: 100, visible: true) { - scene(id: "scene", fill: groovyblue, width: 600, height: 640) { + scene(id: "scene", fill: ALICEBLUE, width: 600, height: 640) { vbox(spacing: 10) { canvas(id:"canvas", width: bind(scene.width()), height: bind(scene.height() - 200 )) { diff --git a/src/demo/groovy/demo/SplitPaneDemo.groovy b/src/demo/groovy/demo/SplitPaneDemo.groovy index 997c6e1..ac2d6c2 100644 --- a/src/demo/groovy/demo/SplitPaneDemo.groovy +++ b/src/demo/groovy/demo/SplitPaneDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyfX, SplitPane Demo", x: 100, y: 100, width: 800, height: 400, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { splitPane(orientation: HORIZONTAL, prefHeight: 200) { dividerPosition(index: 0, position: 0.25) dividerPosition(index: 1, position: 0.50) diff --git a/src/demo/groovy/demo/StrokeTransitionDemo.groovy b/src/demo/groovy/demo/StrokeTransitionDemo.groovy index aa8c3bf..80685f9 100644 --- a/src/demo/groovy/demo/StrokeTransitionDemo.groovy +++ b/src/demo/groovy/demo/StrokeTransitionDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX StrokeTransition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { stackPane { rectangle(width: 200, height: 200, fill: DARKGREEN, strokeWidth: 8, stroke: BLUE) { strokeTransition(3.s, delay: 500.ms, from: BLUE, to: SILVER).playFromStart() diff --git a/src/demo/groovy/demo/TabDemo.groovy b/src/demo/groovy/demo/TabDemo.groovy index bcbea23..f5e9688 100644 --- a/src/demo/groovy/demo/TabDemo.groovy +++ b/src/demo/groovy/demo/TabDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "TabPane Example", width: 400, height: 400, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { tabPane { tab('Tab 1') { label("This is Label 1\n\nAnd there were a few empty lines just there!") diff --git a/src/demo/groovy/demo/TableView2Demo.groovy b/src/demo/groovy/demo/TableView2Demo.groovy index 185f9e6..91366f2 100644 --- a/src/demo/groovy/demo/TableView2Demo.groovy +++ b/src/demo/groovy/demo/TableView2Demo.groovy @@ -54,7 +54,7 @@ def dateFormat = DateTimeFormatter.ofPattern("MMM dd, yyyy") start { stage(title: "GroovyFX Table Demo", width: 500, height: 200, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { gridPane(hgap: 5, vgap: 10, padding: 25, alignment: "top_center") { button(row: 1, column: 0, text: 'Add Person', onAction: { people << createPerson() diff --git a/src/demo/groovy/demo/TableViewDemo.groovy b/src/demo/groovy/demo/TableViewDemo.groovy index c1796d8..c09d81d 100644 --- a/src/demo/groovy/demo/TableViewDemo.groovy +++ b/src/demo/groovy/demo/TableViewDemo.groovy @@ -45,7 +45,7 @@ def dateFormat = DateTimeFormatter.ofPattern("MMM dd, yyyy") start { stage(title: "GroovyFX Table Demo", width: 500, height: 200, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { tableView(selectionMode: "single", cellSelectionEnabled: true, editable: true, items: persons) { tableColumn(editable: true, property: "name", text: "Name", prefWidth: 150, onEditCommit: { event -> diff --git a/src/demo/groovy/demo/TextAreaDemo.groovy b/src/demo/groovy/demo/TextAreaDemo.groovy index 52d4a88..8e8919f 100644 --- a/src/demo/groovy/demo/TextAreaDemo.groovy +++ b/src/demo/groovy/demo/TextAreaDemo.groovy @@ -23,7 +23,7 @@ import static groovyx.javafx.GroovyFX.start */ start { stage(title: "GroovyFX TextArea Demo", x: 100, y: 100, visible: true, style: "decorated", primary: true) { - scene(fill: GROOVYBLUE, width: 400, height: 400) { + scene(fill: ALICEBLUE, width: 400, height: 400) { borderPane(padding: 10) { text = textArea(prefRowCount: 10, prefColumnCount: 80) bottom(align: "center", margin: [10, 0]) { diff --git a/src/demo/groovy/demo/TextFieldDemo.groovy b/src/demo/groovy/demo/TextFieldDemo.groovy index 3b9a679..8891bf8 100644 --- a/src/demo/groovy/demo/TextFieldDemo.groovy +++ b/src/demo/groovy/demo/TextFieldDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX TextField Demo", x: 100, y: 100, visible: true, style: "decorated") { - scene(fill: GROOVYBLUE, width: 400, height: 400) { + scene(fill: ALICEBLUE, width: 400, height: 400) { borderPane() { top() { passwordField(prefColumnCount: 20) diff --git a/src/demo/groovy/demo/TimelineDemo.groovy b/src/demo/groovy/demo/TimelineDemo.groovy index 1e9b99a..b284366 100644 --- a/src/demo/groovy/demo/TimelineDemo.groovy +++ b/src/demo/groovy/demo/TimelineDemo.groovy @@ -22,7 +22,7 @@ y = 5.0 start { stage(x: 100, y: 100, onShown: { println "Stage 1"}, visible: true) { - scene(width: 500, height: 500, fill: GROOVYBLUE) { + scene(width: 500, height: 500, fill: ALICEBLUE) { r = rectangle(x: bind(this, "x"), y: bind(this, "y"), width: 50, height: 25) { fill RED } diff --git a/src/demo/groovy/demo/TitledPaneDemo.groovy b/src/demo/groovy/demo/TitledPaneDemo.groovy index 8d3698e..cd8912a 100644 --- a/src/demo/groovy/demo/TitledPaneDemo.groovy +++ b/src/demo/groovy/demo/TitledPaneDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX TitledPane Demo", width: 400, height: 400, visible: true, style: "decorated") { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { vbox(spacing: 10) { titledPane(id: "t1") { title { diff --git a/src/demo/groovy/demo/ToggleButtonDemo.groovy b/src/demo/groovy/demo/ToggleButtonDemo.groovy index 752918e..3d8cf07 100644 --- a/src/demo/groovy/demo/ToggleButtonDemo.groovy +++ b/src/demo/groovy/demo/ToggleButtonDemo.groovy @@ -21,7 +21,7 @@ start { stage(title: "GroovyFX ToggleButton Demo", x: 100, y: 100, width: 400, height: 400, visible: true, style: "decorated", onHidden: { println "Close" }) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { hbox(spacing: 10, padding: 10) { toggleButton("One", font: "16pt Courier", selected: true, toggleGroup: "Group1") toggleButton("Two", font: "16pt Courier", toggleGroup: "Group1") diff --git a/src/demo/groovy/demo/ToolBarDemo.groovy b/src/demo/groovy/demo/ToolBarDemo.groovy index e1077c2..e313cd8 100644 --- a/src/demo/groovy/demo/ToolBarDemo.groovy +++ b/src/demo/groovy/demo/ToolBarDemo.groovy @@ -19,7 +19,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX ToolBar Demo", width: 820, height: 400, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { borderPane { top { toolBar(orientation: HORIZONTAL) { diff --git a/src/demo/groovy/demo/Transform3DDemo.groovy b/src/demo/groovy/demo/Transform3DDemo.groovy index 02d8713..39a99ab 100644 --- a/src/demo/groovy/demo/Transform3DDemo.groovy +++ b/src/demo/groovy/demo/Transform3DDemo.groovy @@ -29,7 +29,7 @@ start { } stage(title: "GroovyFX Transform3D Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE, camera: new PerspectiveCamera()) { + scene(fill: ALICEBLUE, camera: new PerspectiveCamera()) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { //rotate(angle: 30, axis: Rotate.Y_AXIS) //scale(x: 1.2) diff --git a/src/demo/groovy/demo/TransitionDemo.groovy b/src/demo/groovy/demo/TransitionDemo.groovy index f307866..25e28e5 100644 --- a/src/demo/groovy/demo/TransitionDemo.groovy +++ b/src/demo/groovy/demo/TransitionDemo.groovy @@ -24,7 +24,7 @@ start { final testTransition = fadeTransition(3.s, delay: 500.ms, from: 1.0, to: 0.0, onFinished: { println "done" }) stage(title: "GroovyFX Transition Demo", width: 400, height: 300, visible: true, resizable: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: BLUE) { rectTransition = transition(testTransition) } diff --git a/src/demo/groovy/demo/TranslateTransitionDemo.groovy b/src/demo/groovy/demo/TranslateTransitionDemo.groovy index 5361ae4..765cf8e 100644 --- a/src/demo/groovy/demo/TranslateTransitionDemo.groovy +++ b/src/demo/groovy/demo/TranslateTransitionDemo.groovy @@ -20,7 +20,7 @@ import static javafx.animation.Interpolator.EASE_OUT start { stage(title: "GroovyFX TranslateTransition Demo", visible: true, resizable: true) { - scene(fill: GROOVYBLUE, width: 400, height: 300) { + scene(fill: ALICEBLUE, width: 400, height: 300) { rectangle(x: 20, y: 20, width: 100, height: 50, fill: GREEN) { translateTransition(5.s, delay: 500.ms, interpolator: EASE_OUT, to: 100).playFromStart() } diff --git a/src/demo/groovy/demo/TreeViewDemo.groovy b/src/demo/groovy/demo/TreeViewDemo.groovy index 496917d..a421e83 100644 --- a/src/demo/groovy/demo/TreeViewDemo.groovy +++ b/src/demo/groovy/demo/TreeViewDemo.groovy @@ -27,7 +27,7 @@ start { } stage(title: "GroovyFX TreeView Demo", x: 100, y: 100, visible: true, style: "decorated") { - scene(width: 400, height: 400, fill: GROOVYBLUE) { + scene(width: 400, height: 400, fill: ALICEBLUE) { treeView(showRoot: false) { //onEditCancel() //onEditStart() diff --git a/src/demo/groovy/demo/TriggerDemo.groovy b/src/demo/groovy/demo/TriggerDemo.groovy index 621c000..bf58af2 100644 --- a/src/demo/groovy/demo/TriggerDemo.groovy +++ b/src/demo/groovy/demo/TriggerDemo.groovy @@ -21,7 +21,7 @@ import static groovyx.javafx.GroovyFX.start start { stage(title: "GroovyFX Trigger Demo", width: 600, height: 450, visible: true) { - scene(fill: GROOVYBLUE) { + scene(fill: ALICEBLUE) { rect = rectangle(x: 25, y: 40, width: 200, height: 150, fill: RED) } } diff --git a/src/demo/groovy/demo/TwoStagesDemo.groovy b/src/demo/groovy/demo/TwoStagesDemo.groovy index 94253a2..5376aa7 100644 --- a/src/demo/groovy/demo/TwoStagesDemo.groovy +++ b/src/demo/groovy/demo/TwoStagesDemo.groovy @@ -19,7 +19,7 @@ import groovyx.javafx.GroovyFX; GroovyFX.start { stage(x: 100, y: 100, onShown: { println "Stage 1" }, visible: true, style: 'UTILITY') { - scene(width: 100, height: 100, fill: GROOVYBLUE) + scene(width: 100, height: 100, fill: ALICEBLUE) } stage(primary: false, x: 100, y: 400, visible: true) { onShown { println "Stage 2" } diff --git a/src/demo/groovy/demo/WebViewDemo.groovy b/src/demo/groovy/demo/WebViewDemo.groovy index 5e452e1..13cc079 100644 --- a/src/demo/groovy/demo/WebViewDemo.groovy +++ b/src/demo/groovy/demo/WebViewDemo.groovy @@ -23,7 +23,7 @@ start { def goAction = { wv.engine.load(urlField.getText()) } stage(title: "GroovyFX WebView Demo", visible: true) { - scene(fill: GROOVYBLUE, width: 1024, height: 800) { + scene(fill: ALICEBLUE, width: 1024, height: 800) { vbox { hbox(padding: 10, spacing: 5) { urlField = textField(text: homePage, onAction: goAction, hgrow: "always") diff --git a/src/demo/groovy/demo/structure/AllInOne.groovy b/src/demo/groovy/demo/structure/AllInOne.groovy index 7a50c38..93ff50f 100644 --- a/src/demo/groovy/demo/structure/AllInOne.groovy +++ b/src/demo/groovy/demo/structure/AllInOne.groovy @@ -39,7 +39,7 @@ start { app -> stage title: "All-in-one app demo", visible: true, { scene { gridPane hgap: 5, vgap: 10, padding: 25, alignment: TOP_CENTER, - style: "-fx-background-color: GROOVYBLUE", { + style: "-fx-background-color: ALICEBLUE", { columnConstraints minWidth: 50, halignment: "right" columnConstraints prefWidth: 250, hgrow: 'always' diff --git a/src/demo/groovy/demo/structure/DemoStyle.groovy b/src/demo/groovy/demo/structure/DemoStyle.groovy index b3ae09f..bc99f97 100644 --- a/src/demo/groovy/demo/structure/DemoStyle.groovy +++ b/src/demo/groovy/demo/structure/DemoStyle.groovy @@ -32,10 +32,10 @@ class DemoStyle { Stage frame = sgb.primaryStage Scene scene = frame.scene scene.stylesheets << 'demo/demo.css' -// def GROOVYBLUE = sgb.groovyblue +// def ALICEBLUE = sgb.ALICEBLUE // scene.fill = sgb.radialGradient(stops: [ -// GROOVYBLUE.brighter(), -// GROOVYBLUE.darker()] +// ALICEBLUE.brighter(), +// ALICEBLUE.darker()] // ).build() // a scene fill cannot be set via css atm GridPane grid = scene.root diff --git a/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy b/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy index 6b44201..19d707f 100644 --- a/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy +++ b/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy @@ -785,9 +785,9 @@ class SceneGraphBuilder extends FactoryBuilderSupport { //addAttributeDelegate(BindFactory.bindingAttributeDelegate) addAttributeDelegate(idDelegate) - Color.NamedColors.namedColors.put("groovyblue", Color.rgb(99, 152, 170)) + //Color.NamedColors.NAMED_COLORS.put("groovyblue", Color.rgb(99, 152, 170)) - Color.NamedColors.namedColors.each { name, color -> + Color.NamedColors.NAMED_COLORS.each { name, color -> setVariable(name, color) // would love to remove this one setVariable(name.toUpperCase(), color) } diff --git a/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java b/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java deleted file mode 100644 index 4ddee37..0000000 --- a/src/main/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java +++ /dev/null @@ -1,774 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * Copyright 2011-2024 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package groovyx.javafx.beans; - -import javafx.beans.property.*; -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import javafx.collections.ObservableMap; -import javafx.collections.ObservableSet; -import org.codehaus.groovy.ast.ASTNode; -import org.codehaus.groovy.ast.AnnotatedNode; -import org.codehaus.groovy.ast.AnnotationNode; -import org.codehaus.groovy.ast.ClassHelper; -import org.codehaus.groovy.ast.ClassNode; -import org.codehaus.groovy.ast.FieldNode; -import org.codehaus.groovy.ast.GenericsType; -import org.codehaus.groovy.ast.MethodNode; -import org.codehaus.groovy.ast.Parameter; -import org.codehaus.groovy.ast.PropertyNode; -import org.codehaus.groovy.ast.expr.ArgumentListExpression; -import org.codehaus.groovy.ast.expr.BinaryExpression; -import org.codehaus.groovy.ast.expr.BooleanExpression; -import org.codehaus.groovy.ast.expr.CastExpression; -import org.codehaus.groovy.ast.expr.ClassExpression; -import org.codehaus.groovy.ast.expr.ConstantExpression; -import org.codehaus.groovy.ast.expr.ConstructorCallExpression; -import org.codehaus.groovy.ast.expr.Expression; -import org.codehaus.groovy.ast.expr.FieldExpression; -import org.codehaus.groovy.ast.expr.ListExpression; -import org.codehaus.groovy.ast.expr.MapExpression; -import org.codehaus.groovy.ast.expr.MethodCallExpression; -import org.codehaus.groovy.ast.expr.VariableExpression; -import org.codehaus.groovy.ast.stmt.BlockStatement; -import org.codehaus.groovy.ast.stmt.EmptyStatement; -import org.codehaus.groovy.ast.stmt.ExpressionStatement; -import org.codehaus.groovy.ast.stmt.IfStatement; -import org.codehaus.groovy.ast.stmt.ReturnStatement; -import org.codehaus.groovy.ast.stmt.Statement; -import org.codehaus.groovy.control.CompilePhase; -import org.codehaus.groovy.control.SourceUnit; -import org.codehaus.groovy.control.messages.SyntaxErrorMessage; -import org.codehaus.groovy.runtime.MetaClassHelper; -import org.codehaus.groovy.syntax.SyntaxException; -import org.codehaus.groovy.syntax.Token; -import org.codehaus.groovy.syntax.Types; -import org.codehaus.groovy.transform.ASTTransformation; -import org.codehaus.groovy.transform.GroovyASTTransformation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Target; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import static org.codehaus.groovy.ast.ClassHelper.LIST_TYPE; -import static org.codehaus.groovy.ast.ClassHelper.MAP_TYPE; - - -/** - * Handles generation of code for the {@code @FXBindable} - *

- * Generally, it adds (if needed) a javafx.beans.property.Property type - *

- * It also generates the setter and getter and wires the them through the - * javafx.beans.property.Property. - * - * @author Andres Almiray - */ -@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION) -public class FXBindableASTTransformation implements ASTTransformation { - private static final ClassNode FXBINDABLE_CNODE = makeClassSafe(FXBindable.class); - - private static final ClassNode OBJECT_PROPERTY_CNODE = makeClassSafe(ObjectProperty.class); - private static final ClassNode BOOLEAN_PROPERTY_CNODE = makeClassSafe(BooleanProperty.class); - private static final ClassNode DOUBLE_PROPERTY_CNODE = makeClassSafe(DoubleProperty.class); - private static final ClassNode FLOAT_PROPERTY_CNODE = makeClassSafe(FloatProperty.class); - private static final ClassNode INT_PROPERTY_CNODE = makeClassSafe(IntegerProperty.class); - private static final ClassNode LONG_PROPERTY_CNODE = makeClassSafe(LongProperty.class); - private static final ClassNode STRING_PROPERTY_CNODE = makeClassSafe(StringProperty.class); - private static final ClassNode LIST_PROPERTY_CNODE = makeClassSafe(ListProperty.class); - private static final ClassNode MAP_PROPERTY_CNODE = makeClassSafe(MapProperty.class); - private static final ClassNode SET_PROPERTY_CNODE = makeClassSafe(SetProperty.class); - - private static final ClassNode SIMPLE_BOOLEAN_PROPERTY_CNODE = makeClassSafe(SimpleBooleanProperty.class); - private static final ClassNode SIMPLE_DOUBLE_PROPERTY_CNODE = makeClassSafe(SimpleDoubleProperty.class); - private static final ClassNode SIMPLE_FLOAT_PROPERTY_CNODE = makeClassSafe(SimpleFloatProperty.class); - private static final ClassNode SIMPLE_INT_PROPERTY_CNODE = makeClassSafe(SimpleIntegerProperty.class); - private static final ClassNode SIMPLE_LONG_PROPERTY_CNODE = makeClassSafe(SimpleLongProperty.class); - private static final ClassNode SIMPLE_STRING_PROPERTY_CNODE = makeClassSafe(SimpleStringProperty.class); - private static final ClassNode SIMPLE_LIST_PROPERTY_CNODE = makeClassSafe(SimpleListProperty.class); - private static final ClassNode SIMPLE_MAP_PROPERTY_CNODE = makeClassSafe(SimpleMapProperty.class); - private static final ClassNode SIMPLE_SET_PROPERTY_CNODE = makeClassSafe(SimpleSetProperty.class); - private static final ClassNode SIMPLE_OBJECT_PROPERTY_CNODE = makeClassSafe(SimpleObjectProperty.class); - - private static final ClassNode OBSERVABLE_LIST_CNODE = makeClassSafe(ObservableList.class); - private static final ClassNode OBSERVABLE_MAP_CNODE = makeClassSafe(ObservableMap.class); - private static final ClassNode OBSERVABLE_SET_CNODE = makeClassSafe(ObservableSet.class); - private static final ClassNode FXCOLLECTIONS_CNODE = makeClassSafe(FXCollections.class); - private static final ClassNode SET_TYPE = makeClassSafe(Set.class); - - private static final Map PROPERTY_TYPE_MAP = new HashMap<>(); - - static { - PROPERTY_TYPE_MAP.put(ClassHelper.STRING_TYPE, STRING_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.boolean_TYPE, BOOLEAN_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Boolean_TYPE, BOOLEAN_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.double_TYPE, DOUBLE_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Double_TYPE, DOUBLE_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.float_TYPE, FLOAT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Float_TYPE, FLOAT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.int_TYPE, INT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Integer_TYPE, INT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.long_TYPE, LONG_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Long_TYPE, LONG_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.short_TYPE, INT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Short_TYPE, INT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.byte_TYPE, INT_PROPERTY_CNODE); - PROPERTY_TYPE_MAP.put(ClassHelper.Byte_TYPE, INT_PROPERTY_CNODE); - //PROPERTY_TYPE_MAP.put(ClassHelper.char_TYPE, INT_PROPERTY_CNODE); - //PROPERTY_TYPE_MAP.put(ClassHelper.Character_TYPE, INT_PROPERTY_CNODE); - } - - private static final Map PROPERTY_IMPL_MAP = new HashMap(); - - static { - PROPERTY_IMPL_MAP.put(BOOLEAN_PROPERTY_CNODE, SIMPLE_BOOLEAN_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(DOUBLE_PROPERTY_CNODE, SIMPLE_DOUBLE_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(FLOAT_PROPERTY_CNODE, SIMPLE_FLOAT_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(INT_PROPERTY_CNODE, SIMPLE_INT_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(LONG_PROPERTY_CNODE, SIMPLE_LONG_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(STRING_PROPERTY_CNODE, SIMPLE_STRING_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(LIST_PROPERTY_CNODE, SIMPLE_LIST_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(MAP_PROPERTY_CNODE, SIMPLE_MAP_PROPERTY_CNODE); - PROPERTY_IMPL_MAP.put(SET_PROPERTY_CNODE, SIMPLE_SET_PROPERTY_CNODE); - //PROPERTY_IMPL_MAP.put(OBJECT_PROPERTY_CNODE, SIMPLE_OBJECT_PROPERTY_CNODE); - } - - /** - * Convenience method to see if an annotated node is {@code @FXBindable}. - * - * @param node the node to check - * @return true if the node is observable - */ - public static boolean hasFXBindableAnnotation(AnnotatedNode node) { - for (AnnotationNode annotation : node.getAnnotations()) { - if (FXBINDABLE_CNODE.equals(annotation.getClassNode())) { - return true; - } - } - return false; - } - - /** - * This ASTTransformation method is called when the compiler encounters our annotation. - * - * @param nodes An array of nodes. Index 0 is the annotation that triggered the call, index 1 - * is the annotated node. - * @param sourceUnit The SourceUnit describing the source code in which the annotation was placed. - */ - @Override - public void visit(ASTNode[] nodes, SourceUnit sourceUnit) { - if (!(nodes[0] instanceof AnnotationNode) || !(nodes[1] instanceof AnnotatedNode)) { - throw new IllegalArgumentException("Internal error: wrong types: " - + nodes[0].getClass().getName() + " / " + nodes[1].getClass().getName()); - } - - AnnotationNode node = (AnnotationNode) nodes[0]; - AnnotatedNode parent = (AnnotatedNode) nodes[1]; - ClassNode declaringClass = parent.getDeclaringClass(); - - if (parent instanceof FieldNode) { - int modifiers = ((FieldNode) parent).getModifiers(); - if ((modifiers & Modifier.FINAL) != 0) { - String msg = "@griffon.transform.FXBindable cannot annotate a final property."; - generateSyntaxErrorMessage(sourceUnit, node, msg); - } - addJavaFXProperty(sourceUnit, node, declaringClass, (FieldNode) parent); - } else { - addJavaFXPropertyToClass(sourceUnit, node, (ClassNode) parent); - } - } - - /** - * Adds a JavaFX property to the class in place of the original Groovy property. A pair of synthetic - * getter/setter methods is generated to provide pseudo-access to the original property. - * - * @param source The SourceUnit in which the annotation was found - * @param node The node that was annotated - * @param declaringClass The class in which the annotation was found - * @param field The field upon which the annotation was placed - */ - private void addJavaFXProperty(SourceUnit source, AnnotationNode node, ClassNode declaringClass, FieldNode field) { - String fieldName = field.getName(); - for (PropertyNode propertyNode : declaringClass.getProperties()) { - if (propertyNode.getName().equals(fieldName)) { - if (field.isStatic()) { - String message = "@griffon.transform.FXBindable cannot annotate a static property."; - generateSyntaxErrorMessage(source, node, message); - } else { - createPropertyGetterSetter(declaringClass, propertyNode); - } - return; - } - } - - String message = "@griffon.transform.FXBindable must be on a property, not a field. Try removing the private, " + - "protected, or public modifier."; - generateSyntaxErrorMessage(source, node, message); - } - - /** - * Iterate through the properties of the class and convert each eligible property to a JavaFX property. - * - * @param source The SourceUnit - * @param node The AnnotationNode - * @param classNode The declaring class - */ - private void addJavaFXPropertyToClass(SourceUnit source, AnnotationNode node, ClassNode classNode) { - for (PropertyNode propertyNode : classNode.getProperties()) { - FieldNode field = propertyNode.getField(); - // look to see if per-field handlers will catch this one... - if (hasFXBindableAnnotation(field) - || ((field.getModifiers() & Modifier.FINAL) != 0) - || field.isStatic()) { - // explicitly labeled properties are already handled, - // don't transform final properties - // don't transform static properties - continue; - } - createPropertyGetterSetter(classNode, propertyNode); - } - } - - /** - * Creates the JavaFX property and three methods for accessing the property and a pair of - * getter/setter methods for accessing the original (now synthetic) Groovy property. For - * example, if the original property was "String firstName" then these three methods would - * be generated: - *

- * public String getFirstName() - * public void setFirstName(String value) - * public StringProperty firstNameProperty() - * - * @param classNode The declaring class in which the property will appear - * @param originalProp The original Groovy property - */ - private void createPropertyGetterSetter(ClassNode classNode, PropertyNode originalProp) { - Expression initExp = originalProp.getInitialExpression(); - originalProp.getField().setInitialValueExpression(null); - - PropertyNode fxProperty = createFXProperty(originalProp); - - List methodAnnotations = new ArrayList<>(); - List fieldAnnotations = new ArrayList<>(); - for (AnnotationNode annotation : originalProp.getField().getAnnotations()) { - if (FXBINDABLE_CNODE.equals(annotation.getClassNode())) continue; - Class annotationClass = annotation.getClassNode().getTypeClass(); - Target target = (Target) annotationClass.getAnnotation(Target.class); - if (isTargetAllowed(target, ElementType.METHOD)) { - methodAnnotations.add(annotation); - } else if (isTargetAllowed(target, ElementType.FIELD)) { - fieldAnnotations.add(annotation); - } - } - - String getterName = "get" + MetaClassHelper.capitalize(originalProp.getName()); - if (classNode.getMethods(getterName).isEmpty()) { - Statement getterBlock = createGetterStatement(createFXProperty(originalProp)); - createGetterMethod(classNode, originalProp, getterName, getterBlock, methodAnnotations); - methodAnnotations = null; - } else { - wrapGetterMethod(classNode, originalProp.getName(), methodAnnotations); - methodAnnotations = null; - } - - String setterName = "set" + MetaClassHelper.capitalize(originalProp.getName()); - if (classNode.getMethods(setterName).isEmpty()) { - Statement setterBlock = createSetterStatement(createFXProperty(originalProp)); - createSetterMethod(classNode, originalProp, setterName, setterBlock, methodAnnotations); - } else { - wrapSetterMethod(classNode, originalProp.getName(), methodAnnotations); - } - - // We want the actual name of the field to be different from the getter (Prop vs Property) so - // that the getter takes precedence when we say this.somethingProperty. - FieldNode fxFieldShortName = createFieldNodeCopy(originalProp.getName() + "Prop", null, fxProperty.getField()); - createPropertyAccessor(classNode, createFXProperty(originalProp), fxFieldShortName, initExp); - - classNode.removeField(originalProp.getName()); - classNode.addField(fxFieldShortName); - fxFieldShortName.addAnnotations(fieldAnnotations); - } - - private boolean isTargetAllowed(Target target, ElementType elementType) { - if (target == null) { - return false; - } - for (ElementType et : target.value()) { - if (et == elementType) { - return true; - } - } - return false; - } - - /** - * Creates a new PropertyNode for the JavaFX property based on the original property. The new property - * will have "Property" appended to its name and its type will be one of the *Property types in JavaFX. - * - * @param orig The original property - * @return A new PropertyNode for the JavaFX property - */ - private PropertyNode createFXProperty(PropertyNode orig) { - ClassNode origType = orig.getType(); - ClassNode newType = PROPERTY_TYPE_MAP.get(origType); - - // For the ObjectProperty, we need to add the generic type to it. - if (newType == null) { - if (isTypeCompatible(ClassHelper.LIST_TYPE, origType) || isTypeCompatible(OBSERVABLE_LIST_CNODE, origType)) { - newType = makeClassSafe(SIMPLE_LIST_PROPERTY_CNODE); - GenericsType[] genericTypes = origType.getGenericsTypes(); - newType.setGenericsTypes(genericTypes); - } else if (isTypeCompatible(ClassHelper.MAP_TYPE, origType) || isTypeCompatible(OBSERVABLE_MAP_CNODE, origType)) { - newType = makeClassSafe(SIMPLE_MAP_PROPERTY_CNODE); - GenericsType[] genericTypes = origType.getGenericsTypes(); - newType.setGenericsTypes(genericTypes); - } else if (isTypeCompatible(SET_TYPE, origType) || isTypeCompatible(OBSERVABLE_SET_CNODE, origType)) { - newType = makeClassSafe(SIMPLE_SET_PROPERTY_CNODE); - GenericsType[] genericTypes = origType.getGenericsTypes(); - newType.setGenericsTypes(genericTypes); - } else { // Object Type - newType = makeClassSafe(OBJECT_PROPERTY_CNODE); - ClassNode genericType = origType; - if (genericType.isPrimaryClassNode()) { - genericType = ClassHelper.getWrapper(genericType); - } - newType.setGenericsTypes(new GenericsType[]{new GenericsType(genericType)}); - } - } - - FieldNode fieldNode = createFieldNodeCopy(orig.getName() + "Property", newType, orig.getField()); - return new PropertyNode(fieldNode, orig.getModifiers(), orig.getGetterBlock(), orig.getSetterBlock()); - } - - private boolean isTypeCompatible(ClassNode base, ClassNode target) { - return target.equals(base) || target.implementsInterface(base) || target.declaresInterface(base); - } - - /** - * Creates a setter method and adds it to the declaring class. The setter has the form: - *

- * void ( fieldName) - * - * @param declaringClass The class to which the method is added - * @param propertyNode The property node being accessed by this setter - * @param setterName The name of the setter method - * @param setterBlock The code body of the method - */ - protected void createSetterMethod(ClassNode declaringClass, PropertyNode propertyNode, String setterName, - Statement setterBlock, List annotations) { - Parameter[] setterParameterTypes = {new Parameter(propertyNode.getType(), "value")}; - int mod = propertyNode.getModifiers() | Modifier.FINAL; - - MethodNode setter = new MethodNode(setterName, mod, ClassHelper.VOID_TYPE, setterParameterTypes, - ClassNode.EMPTY_ARRAY, setterBlock); - if (annotations != null) setter.addAnnotations(annotations); - setter.setSynthetic(true); - declaringClass.addMethod(setter); - } - - - /** - * If the setter already exists, this method should wrap it with our code and then a call to the original - * setter. - *

- * TODO: Not implemented yet - * - * @param classNode The declaring class to which the method will be added - * @param propertyName The name of the original Groovy property - */ - private void wrapSetterMethod(ClassNode classNode, String propertyName, List annotations) { - System.out.println( - String.format("wrapSetterMethod for '%s', property '%s' not yet implemented", - classNode.getName(), propertyName)); - } - - /** - * Creates a getter method and adds it to the declaring class. - * - * @param declaringClass The class to which the method is added - * @param propertyNode The property node being accessed by this getter - * @param getterName The name of the getter method - * @param getterBlock The code body of the method - */ - protected void createGetterMethod(ClassNode declaringClass, PropertyNode propertyNode, String getterName, - Statement getterBlock, List annotations) { - int mod = propertyNode.getModifiers() | Modifier.FINAL; - MethodNode getter = new MethodNode(getterName, mod, propertyNode.getType(), Parameter.EMPTY_ARRAY, - ClassNode.EMPTY_ARRAY, getterBlock); - if (annotations != null) getter.addAnnotations(annotations); - getter.setSynthetic(true); - declaringClass.addMethod(getter); - } - - /** - * If the getter already exists, this method should wrap it with our code. - *

- * TODO: Not implemented yet -- what to do with the returned value from the original getter? - * - * @param classNode The declaring class to which the method will be added - * @param propertyName The name of the original Groovy property - */ - private void wrapGetterMethod(ClassNode classNode, String propertyName, List annotations) { - System.out.println( - String.format("wrapGetterMethod for '%s', property '%s' not yet implemented", - classNode.getName(), propertyName)); - } - - - /** - * Creates the body of a property access method that returns the JavaFX *Property instance. If - * the original property was "String firstName" then the generated code would be: - *

- * if (firstNameProperty == null) { - * firstNameProperty = new javafx.beans.property.StringProperty() - * } - * return firstNameProperty - * - * @param classNode The declaring class to which the JavaFX property will be added - * @param fxProperty The new JavaFX property - * @param fxFieldShortName - * @param initExp The initializer expression from the original Groovy property declaration - */ - private void createPropertyAccessor(ClassNode classNode, PropertyNode fxProperty, FieldNode fxFieldShortName, - Expression initExp) { - FieldExpression fieldExpression = new FieldExpression(fxFieldShortName); - - ArgumentListExpression ctorArgs = initExp == null ? - ArgumentListExpression.EMPTY_ARGUMENTS : - new ArgumentListExpression(initExp); - - BlockStatement block = new BlockStatement(); - ClassNode fxType = fxProperty.getType(); - ClassNode implNode = PROPERTY_IMPL_MAP.get(fxType); - if (implNode == null) { - if (fxType.getTypeClass() == SIMPLE_LIST_PROPERTY_CNODE.getTypeClass()) { - if (initExp != null) { - if (initExp instanceof ListExpression || - (initExp instanceof CastExpression && - (((CastExpression) initExp).getType().equals(LIST_TYPE) || - ((CastExpression) initExp).getType().declaresInterface(LIST_TYPE))) || - (initExp instanceof ConstructorCallExpression && - (((ConstructorCallExpression) initExp).getType().equals(LIST_TYPE) || - ((ConstructorCallExpression) initExp).getType().declaresInterface(LIST_TYPE))) - ) { - ctorArgs = new ArgumentListExpression( - new MethodCallExpression( - new ClassExpression(FXCOLLECTIONS_CNODE), - "observableList", - ctorArgs) - ); - } - } - implNode = fxType; - } else if (fxType.getTypeClass() == SIMPLE_MAP_PROPERTY_CNODE.getTypeClass()) { - if (initExp != null) { - if (initExp instanceof MapExpression || - (initExp instanceof CastExpression && - (((CastExpression) initExp).getType().equals(MAP_TYPE) || - ((CastExpression) initExp).getType().declaresInterface(MAP_TYPE))) || - (initExp instanceof ConstructorCallExpression && - (((ConstructorCallExpression) initExp).getType().equals(MAP_TYPE) || - ((ConstructorCallExpression) initExp).getType().declaresInterface(MAP_TYPE))) - ) { - ctorArgs = new ArgumentListExpression( - new MethodCallExpression( - new ClassExpression(FXCOLLECTIONS_CNODE), - "observableMap", - ctorArgs) - ); - } - } - implNode = fxType; - } else if (fxType.getTypeClass() == SIMPLE_SET_PROPERTY_CNODE.getTypeClass()) { - if (initExp != null) { - if ((initExp instanceof CastExpression && - (((CastExpression) initExp).getType().equals(SET_TYPE) || - ((CastExpression) initExp).getType().declaresInterface(SET_TYPE))) || - (initExp instanceof ConstructorCallExpression && - (((ConstructorCallExpression) initExp).getType().equals(SET_TYPE) || - ((ConstructorCallExpression) initExp).getType().declaresInterface(SET_TYPE))) - ) { - ctorArgs = new ArgumentListExpression( - new MethodCallExpression( - new ClassExpression(FXCOLLECTIONS_CNODE), - "observableSet", - ctorArgs) - ); - } - } - implNode = fxType; - } else { - implNode = makeClassSafe(SIMPLE_OBJECT_PROPERTY_CNODE); - GenericsType[] origGenerics = fxProperty.getType().getGenericsTypes(); - //List copyGenericTypes = new ArrayList(); - //for() - implNode.setGenericsTypes(origGenerics); - } - } - Expression initExpression = new ConstructorCallExpression(implNode, ctorArgs); - - IfStatement ifStmt = new IfStatement( - new BooleanExpression( - new BinaryExpression( - fieldExpression, - Token.newSymbol(Types.COMPARE_EQUAL, 0, 0), - ConstantExpression.NULL - ) - ), - new ExpressionStatement( - new BinaryExpression( - fieldExpression, - Token.newSymbol(Types.EQUAL, 0, 0), - initExpression - ) - ), - EmptyStatement.INSTANCE - ); - block.addStatement(ifStmt); - block.addStatement(new ReturnStatement(fieldExpression)); - - String getterName = getFXPropertyGetterName(fxProperty); - MethodNode accessor = new MethodNode(getterName, fxProperty.getModifiers(), fxProperty.getType(), - Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, block); - accessor.setSynthetic(true); - classNode.addMethod(accessor); - - // Create the xxxxProperty() method that merely calls getXxxxProperty() - block = new BlockStatement(); - - VariableExpression thisExpression = VariableExpression.THIS_EXPRESSION; - ArgumentListExpression emptyArguments = ArgumentListExpression.EMPTY_ARGUMENTS; - - MethodCallExpression getProperty = new MethodCallExpression(thisExpression, getterName, emptyArguments); - block.addStatement(new ReturnStatement(getProperty)); - - String javaFXPropertyFunction = fxProperty.getName(); - - accessor = new MethodNode(javaFXPropertyFunction, fxProperty.getModifiers(), fxProperty.getType(), - Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, block); - accessor.setSynthetic(true); - classNode.addMethod(accessor); - - // Create the xxxx() method that merely calls getXxxxProperty() - block = new BlockStatement(); - - thisExpression = VariableExpression.THIS_EXPRESSION; - emptyArguments = ArgumentListExpression.EMPTY_ARGUMENTS; - - getProperty = new MethodCallExpression(thisExpression, getterName, emptyArguments); - block.addStatement(new ReturnStatement(getProperty)); - javaFXPropertyFunction = fxProperty.getName().replace("Property", ""); - - accessor = new MethodNode(javaFXPropertyFunction, fxProperty.getModifiers(), fxProperty.getType(), - Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, block); - accessor.setSynthetic(true); - classNode.addMethod(accessor); - } - - /** - * Creates the body of a setter method for the original property that is actually backed by a - * JavaFX *Property instance: - *

- * Object $property = this.someProperty() - * $property.setValue(value) - * - * @param fxProperty The original Groovy property that we're creating a setter for. - * @return A Statement that is the body of the new setter. - */ - protected Statement createSetterStatement(PropertyNode fxProperty) { - String fxPropertyGetter = getFXPropertyGetterName(fxProperty); - VariableExpression thisExpression = VariableExpression.THIS_EXPRESSION; - ArgumentListExpression emptyArgs = ArgumentListExpression.EMPTY_ARGUMENTS; - - MethodCallExpression getProperty = new MethodCallExpression(thisExpression, fxPropertyGetter, emptyArgs); - - ArgumentListExpression valueArg = new ArgumentListExpression(new Expression[]{new VariableExpression("value")}); - MethodCallExpression setValue = new MethodCallExpression(getProperty, "setValue", valueArg); - - return new ExpressionStatement(setValue); - } - - /** - * Creates the body of a getter method for the original property that is actually backed by a - * JavaFX *Property instance: - *

- * Object $property = this.someProperty() - * return $property.getValue() - * - * @param fxProperty The new JavaFX property. - * @return A Statement that is the body of the new getter. - */ - protected Statement createGetterStatement(PropertyNode fxProperty) { - String fxPropertyGetter = getFXPropertyGetterName(fxProperty); - VariableExpression thisExpression = VariableExpression.THIS_EXPRESSION; - ArgumentListExpression emptyArguments = ArgumentListExpression.EMPTY_ARGUMENTS; - - // We're relying on the *Property() method to provide the return value - is this still needed?? -// Expression defaultReturn = defaultReturnMap.get(originalProperty.getType()); -// if (defaultReturn == null) -// defaultReturn = ConstantExpression.NULL; - - MethodCallExpression getProperty = new MethodCallExpression(thisExpression, fxPropertyGetter, emptyArguments); - MethodCallExpression getValue = new MethodCallExpression(getProperty, "getValue", emptyArguments); - - return new ReturnStatement(new ExpressionStatement(getValue)); - } - - /** - * Generates a SyntaxErrorMessage based on the current SourceUnit, AnnotationNode, and a specified - * error message. - * - * @param sourceUnit The SourceUnit - * @param node The node that was annotated - * @param msg The error message to display - */ - private void generateSyntaxErrorMessage(SourceUnit sourceUnit, AnnotationNode node, String msg) { - SyntaxException error = new SyntaxException(msg, node.getLineNumber(), node.getColumnNumber()); - sourceUnit.getErrorCollector().addErrorAndContinue(new SyntaxErrorMessage(error, sourceUnit)); - } - - /** - * Creates a copy of a FieldNode with a new name and, optionally, a new type. - * - * @param newName The name for the new field node. - * @param newType The new type of the field. If null, the old FieldNode's type will be used. - * @param f The FieldNode to copy. - * @return The new FieldNode. - */ - private FieldNode createFieldNodeCopy(String newName, ClassNode newType, FieldNode f) { - if (newType == null) - newType = f.getType(); - newType = newType.getPlainNodeReference(); - - return new FieldNode(newName, f.getModifiers(), newType, f.getOwner(), f.getInitialValueExpression()); - } - - /** - * Generates the correct getter method name for a JavaFX property. - * - * @param fxProperty The property for which the getter should be generated. - * @return The getter name as a String. - */ - private String getFXPropertyGetterName(PropertyNode fxProperty) { - return "get" + capitalize(fxProperty.getName()); - } - - /** - * Capitalize the first letter of the given string. - * - * @param string The source string - * @return The capitalized string - */ - private String capitalize(String string) { - if (string == null || string.equals("")) - return string; - - return Character.toUpperCase(string.charAt(0)) + string.substring(1); - } - - private static ClassNode makeClassSafe(String className) { - return makeClassSafeWithGenerics(className); - } - - private static ClassNode makeClassSafe(Class klass) { - return makeClassSafeWithGenerics(klass); - } - - private static ClassNode makeClassSafe(ClassNode classNode) { - return makeClassSafeWithGenerics(classNode); - } - - private static ClassNode makeClassSafeWithGenerics(String className, String... genericTypes) { - GenericsType[] gtypes = new GenericsType[0]; - if (genericTypes != null) { - gtypes = new GenericsType[genericTypes.length]; - for (int i = 0; i < gtypes.length; i++) { - gtypes[i] = new GenericsType(makeClassSafe(genericTypes[i])); - } - } - return makeClassSafe0(ClassHelper.make(className), gtypes); - } - - private static ClassNode makeClassSafeWithGenerics(Class klass, Class... genericTypes) { - GenericsType[] gtypes = new GenericsType[0]; - if (genericTypes != null) { - gtypes = new GenericsType[genericTypes.length]; - for (int i = 0; i < gtypes.length; i++) { - gtypes[i] = new GenericsType(makeClassSafe(genericTypes[i])); - } - } - return makeClassSafe0(ClassHelper.make(klass), gtypes); - } - - private static ClassNode makeClassSafeWithGenerics(ClassNode classNode, ClassNode... genericTypes) { - GenericsType[] gtypes = new GenericsType[0]; - if (genericTypes != null) { - gtypes = new GenericsType[genericTypes.length]; - for (int i = 0; i < gtypes.length; i++) { - gtypes[i] = new GenericsType(newClass(genericTypes[i])); - } - } - return makeClassSafe0(classNode, gtypes); - } - - private static GenericsType makeGenericsType(String className, String[] upperBounds, String lowerBound, boolean placeHolder) { - ClassNode[] up = new ClassNode[0]; - if (upperBounds != null) { - up = new ClassNode[upperBounds.length]; - for (int i = 0; i < up.length; i++) { - up[i] = makeClassSafe(upperBounds[i]); - } - } - return makeGenericsType(makeClassSafe(className), up, makeClassSafe(lowerBound), placeHolder); - } - - private static GenericsType makeGenericsType(Class klass, Class[] upperBounds, Class lowerBound, boolean placeHolder) { - ClassNode[] up = new ClassNode[0]; - if (upperBounds != null) { - up = new ClassNode[upperBounds.length]; - for (int i = 0; i < up.length; i++) { - up[i] = makeClassSafe(upperBounds[i]); - } - } - return makeGenericsType(makeClassSafe(klass), up, makeClassSafe(lowerBound), placeHolder); - } - - private static GenericsType makeGenericsType(ClassNode classNode, ClassNode[] upperBounds, ClassNode lowerBound, boolean placeHolder) { - classNode = newClass(classNode); - classNode.setGenericsPlaceHolder(placeHolder); - return new GenericsType(classNode, upperBounds, lowerBound); - } - - private static ClassNode makeClassSafe0(ClassNode classNode, GenericsType... genericTypes) { - ClassNode plainNodeReference = newClass(classNode); - if (genericTypes != null && genericTypes.length > 0) { - plainNodeReference.setGenericsTypes(genericTypes); - } - return plainNodeReference; - } - - private static ClassNode newClass(ClassNode classNode) { - return classNode.getPlainNodeReference(); - } - -} From a59a87dafa89258eda8374553a8f079ba7864394 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Wed, 21 Aug 2024 07:27:50 +0200 Subject: [PATCH 6/9] Library upgrades --- build.gradle | 116 +-- gradle.properties | 4 +- settings.gradle | 6 - .../beans/FXBindableASTTransformation.java | 774 ++++++++++++++++++ src/demo/groovy/demo/AnalogClockDemo.groovy | 4 - 5 files changed, 780 insertions(+), 124 deletions(-) create mode 100644 src/ast/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java diff --git a/build.gradle b/build.gradle index 48d713a..4dac3e1 100755 --- a/build.gradle +++ b/build.gradle @@ -20,13 +20,8 @@ plugins { id 'groovy' id 'idea' - id 'org.kordamp.gradle.groovy-project' - //id 'org.kordamp.gradle.bintray' - //id 'org.kordamp.gradle.coveralls' id 'org.openjfx.javafxplugin' id 'org.asciidoctor.jvm.convert' - //id 'org.jonnyzzz.java9c' - //id 'org.javamodularity.moduleplugin' id 'com.google.osdetector' } @@ -35,85 +30,6 @@ if (!project.hasProperty('bintrayApiKey')) project.ext.bintrayApiKey = '' if (!project.hasProperty('sonatypeUsername')) project.ext.sonatypeUsername = '' if (!project.hasProperty('sonatypePassword')) project.ext.sonatypePassword = '' -config { - release = (rootProject.findProperty('release') ?: false).toBoolean() - - info { - name = 'Groovyfx' - vendor = 'Groovyfx' - description = 'A library for writing JavaFX applications in the Groovy language' - inceptionYear = '2011' - tags = ['Groovy', 'JavaFX', 'GroovyFX'] - - links { - website = 'http://groovyfx.org' - issueTracker = 'https://github.com/groovyfx-project/groovyfx/issues' - scm = 'https://github.com/groovyfx-project/groovyfx.git' - } - - people { - [ - JimClarke5 : 'Jim Clarke', - deanriverson : 'Dean Iverson', - russel : 'Russel Winder', - aalmiray : 'Andres Almiray', - Dierk : 'Dierk König' - ].each { devId, devName -> - person { - id = devId - name = devName - roles = ['developer'] - } - } - } - - implementation { enabled = false } - - credentials { - sonatype { - username = project.sonatypeUsername - password = project.sonatypePassword - } - } - } - - licensing { - licenses { - license { - id = 'Apache-2.0' - } - } - } - - bintray { - credentials { - username = project.bintrayUsername - password = project.bintrayApiKey - } - userOrg = 'groovyfx' - name = 'groovyfx' - githubRepo = 'groovyfx-project/groovyfx' - } - - - docs { - groovydoc { - options { - link 'http://junit.org/javadoc/latest/', 'org.junit.', 'junit.' - link 'http://docs.oracle.com/javase/8/docs/api/', 'java.', 'org.xml.', 'javax.', 'org.w3c.' - link 'http://docs.oracle.com/javase/8/javafx/api/', 'javafx.' - link 'http://docs.groovy-lang.org/latest/html/api/', 'groovy.', 'org.apache.groovy' - } - } - } - - /* - coverage { - jacoco { - toolVersion = '0.8.12' - } - }*/ -} repositories { if (project.hasProperty('groovyfx_useMavenLocal') && Boolean.valueOf(project.groovyfx_useMavenLocal)) { mavenLocal() } @@ -146,18 +62,6 @@ dependencies { } } -// DO 'gradlew licenseFormat' TO FIX LICENSE ISSUES -license { - mapping { - java = 'SLASHSTAR_STYLE' - groovy = 'SLASHSTAR_STYLE' - gdsl = 'SLASHSTAR_STYLE' - dsld = 'SLASHSTAR_STYLE' - fxml = 'XML_STYLE' - } - exclude '**/*.png' - exclude '**/*.jpg' -} idea { module { @@ -212,32 +116,22 @@ processResources { sourceSets { ast { compileClasspath += configurations.runtimeClasspath - /*groovy { - srcDirs 'src/ast/groovy' - } - resources { - srcDir 'src/ast/resources' - }*/ } main { compileClasspath += sourceSets.ast.output + configurations.runtimeClasspath runtimeClasspath += sourceSets.ast.output + configurations.runtimeClasspath - /*groovy { - srcDirs 'src/main/groovy' - }*/ } demo { compileClasspath += sourceSets.main.output + sourceSets.ast.output + configurations.runtimeClasspath runtimeClasspath += sourceSets.main.output + sourceSets.ast.output + configurations.runtimeClasspath - /*groovy { - srcDirs 'src/demo/groovy' - } - resources { - srcDir 'src/demo/resources' - }*/ } } +task createJar(type: Jar) { + archiveBaseName.set('groovyfx') + from sourceSets.main.output +} + // ---------------- dynamic tasks to run demos ------------------ new File('src/demo/groovy/demo').eachFileMatch(~/.*Demo.groovy/) { file -> diff --git a/gradle.properties b/gradle.properties index ee61f70..a937f24 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,15 +18,13 @@ group = org.groovyfx archivesBaseName = groovyfx -version = 11.0.0-SNAPSHOT +version = 12.0.0 groovyfx_javafxVersion = 11 groovyfx_groovyVersion = 4.0.22 groovyfx_junitVersion = 4.13.2 groovyfx_spockVersion = 2.4-M4-groovy-4.0 groovyfx_jansiVersion = 1.18 -kordampPluginVersion = 0.44.0 - org.gradle.daemon = true org.gradle.caching = true org.gradle.parallel = false diff --git a/settings.gradle b/settings.gradle index 8c6954d..68673f6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,17 +17,11 @@ */ pluginManagement { repositories { - jcenter() gradlePluginPortal() } plugins { - id 'org.kordamp.gradle.groovy-project' version kordampPluginVersion - id 'org.kordamp.gradle.bintray' version kordampPluginVersion - id 'org.kordamp.gradle.coveralls' version kordampPluginVersion id 'org.openjfx.javafxplugin' version '0.1.0' id 'org.asciidoctor.jvm.convert' version '3.3.2' - //id 'org.jonnyzzz.java9c' version '0.2.3' - //id 'org.javamodularity.moduleplugin' version '1.8.15' id 'com.google.osdetector' version '1.6.2' } } diff --git a/src/ast/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java b/src/ast/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java new file mode 100644 index 0000000..54116d2 --- /dev/null +++ b/src/ast/groovy/groovyx/javafx/beans/FXBindableASTTransformation.java @@ -0,0 +1,774 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2011-2024 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package groovyx.javafx.beans; + +import javafx.beans.property.*; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.collections.ObservableMap; +import javafx.collections.ObservableSet; +import org.codehaus.groovy.ast.ASTNode; +import org.codehaus.groovy.ast.AnnotatedNode; +import org.codehaus.groovy.ast.AnnotationNode; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.FieldNode; +import org.codehaus.groovy.ast.GenericsType; +import org.codehaus.groovy.ast.MethodNode; +import org.codehaus.groovy.ast.Parameter; +import org.codehaus.groovy.ast.PropertyNode; +import org.codehaus.groovy.ast.expr.ArgumentListExpression; +import org.codehaus.groovy.ast.expr.BinaryExpression; +import org.codehaus.groovy.ast.expr.BooleanExpression; +import org.codehaus.groovy.ast.expr.CastExpression; +import org.codehaus.groovy.ast.expr.ClassExpression; +import org.codehaus.groovy.ast.expr.ConstantExpression; +import org.codehaus.groovy.ast.expr.ConstructorCallExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.FieldExpression; +import org.codehaus.groovy.ast.expr.ListExpression; +import org.codehaus.groovy.ast.expr.MapExpression; +import org.codehaus.groovy.ast.expr.MethodCallExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; +import org.codehaus.groovy.ast.stmt.BlockStatement; +import org.codehaus.groovy.ast.stmt.EmptyStatement; +import org.codehaus.groovy.ast.stmt.ExpressionStatement; +import org.codehaus.groovy.ast.stmt.IfStatement; +import org.codehaus.groovy.ast.stmt.ReturnStatement; +import org.codehaus.groovy.ast.stmt.Statement; +import org.codehaus.groovy.control.CompilePhase; +import org.codehaus.groovy.control.SourceUnit; +import org.codehaus.groovy.control.messages.SyntaxErrorMessage; +import org.codehaus.groovy.runtime.MetaClassHelper; +import org.codehaus.groovy.syntax.SyntaxException; +import org.codehaus.groovy.syntax.Token; +import org.codehaus.groovy.syntax.Types; +import org.codehaus.groovy.transform.ASTTransformation; +import org.codehaus.groovy.transform.GroovyASTTransformation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.codehaus.groovy.ast.ClassHelper.LIST_TYPE; +import static org.codehaus.groovy.ast.ClassHelper.MAP_TYPE; + + +/** + * Handles generation of code for the {@code @FXBindable} + *

+ * Generally, it adds (if needed) a javafx.beans.property.Property type + *

+ * It also generates the setter and getter and wires the them through the + * javafx.beans.property.Property. + * + * @author Andres Almiray + */ +@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION) +public class FXBindableASTTransformation implements ASTTransformation { + //private static final ClassNode FXBINDABLE_CNODE = makeClassSafe(FXBindable.class); + + private static final ClassNode OBJECT_PROPERTY_CNODE = makeClassSafe(ObjectProperty.class); + private static final ClassNode BOOLEAN_PROPERTY_CNODE = makeClassSafe(BooleanProperty.class); + private static final ClassNode DOUBLE_PROPERTY_CNODE = makeClassSafe(DoubleProperty.class); + private static final ClassNode FLOAT_PROPERTY_CNODE = makeClassSafe(FloatProperty.class); + private static final ClassNode INT_PROPERTY_CNODE = makeClassSafe(IntegerProperty.class); + private static final ClassNode LONG_PROPERTY_CNODE = makeClassSafe(LongProperty.class); + private static final ClassNode STRING_PROPERTY_CNODE = makeClassSafe(StringProperty.class); + private static final ClassNode LIST_PROPERTY_CNODE = makeClassSafe(ListProperty.class); + private static final ClassNode MAP_PROPERTY_CNODE = makeClassSafe(MapProperty.class); + private static final ClassNode SET_PROPERTY_CNODE = makeClassSafe(SetProperty.class); + + private static final ClassNode SIMPLE_BOOLEAN_PROPERTY_CNODE = makeClassSafe(SimpleBooleanProperty.class); + private static final ClassNode SIMPLE_DOUBLE_PROPERTY_CNODE = makeClassSafe(SimpleDoubleProperty.class); + private static final ClassNode SIMPLE_FLOAT_PROPERTY_CNODE = makeClassSafe(SimpleFloatProperty.class); + private static final ClassNode SIMPLE_INT_PROPERTY_CNODE = makeClassSafe(SimpleIntegerProperty.class); + private static final ClassNode SIMPLE_LONG_PROPERTY_CNODE = makeClassSafe(SimpleLongProperty.class); + private static final ClassNode SIMPLE_STRING_PROPERTY_CNODE = makeClassSafe(SimpleStringProperty.class); + private static final ClassNode SIMPLE_LIST_PROPERTY_CNODE = makeClassSafe(SimpleListProperty.class); + private static final ClassNode SIMPLE_MAP_PROPERTY_CNODE = makeClassSafe(SimpleMapProperty.class); + private static final ClassNode SIMPLE_SET_PROPERTY_CNODE = makeClassSafe(SimpleSetProperty.class); + private static final ClassNode SIMPLE_OBJECT_PROPERTY_CNODE = makeClassSafe(SimpleObjectProperty.class); + + private static final ClassNode OBSERVABLE_LIST_CNODE = makeClassSafe(ObservableList.class); + private static final ClassNode OBSERVABLE_MAP_CNODE = makeClassSafe(ObservableMap.class); + private static final ClassNode OBSERVABLE_SET_CNODE = makeClassSafe(ObservableSet.class); + private static final ClassNode FXCOLLECTIONS_CNODE = makeClassSafe(FXCollections.class); + private static final ClassNode SET_TYPE = makeClassSafe(Set.class); + + private static final Map PROPERTY_TYPE_MAP = new HashMap<>(); + + static { + PROPERTY_TYPE_MAP.put(ClassHelper.STRING_TYPE, STRING_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.boolean_TYPE, BOOLEAN_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Boolean_TYPE, BOOLEAN_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.double_TYPE, DOUBLE_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Double_TYPE, DOUBLE_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.float_TYPE, FLOAT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Float_TYPE, FLOAT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.int_TYPE, INT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Integer_TYPE, INT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.long_TYPE, LONG_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Long_TYPE, LONG_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.short_TYPE, INT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Short_TYPE, INT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.byte_TYPE, INT_PROPERTY_CNODE); + PROPERTY_TYPE_MAP.put(ClassHelper.Byte_TYPE, INT_PROPERTY_CNODE); + //PROPERTY_TYPE_MAP.put(ClassHelper.char_TYPE, INT_PROPERTY_CNODE); + //PROPERTY_TYPE_MAP.put(ClassHelper.Character_TYPE, INT_PROPERTY_CNODE); + } + + private static final Map PROPERTY_IMPL_MAP = new HashMap(); + + static { + PROPERTY_IMPL_MAP.put(BOOLEAN_PROPERTY_CNODE, SIMPLE_BOOLEAN_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(DOUBLE_PROPERTY_CNODE, SIMPLE_DOUBLE_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(FLOAT_PROPERTY_CNODE, SIMPLE_FLOAT_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(INT_PROPERTY_CNODE, SIMPLE_INT_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(LONG_PROPERTY_CNODE, SIMPLE_LONG_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(STRING_PROPERTY_CNODE, SIMPLE_STRING_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(LIST_PROPERTY_CNODE, SIMPLE_LIST_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(MAP_PROPERTY_CNODE, SIMPLE_MAP_PROPERTY_CNODE); + PROPERTY_IMPL_MAP.put(SET_PROPERTY_CNODE, SIMPLE_SET_PROPERTY_CNODE); + //PROPERTY_IMPL_MAP.put(OBJECT_PROPERTY_CNODE, SIMPLE_OBJECT_PROPERTY_CNODE); + } + + /** + * Convenience method to see if an annotated node is {@code @FXBindable}. + * + * @param node the node to check + * @return true if the node is observable + */ + public static boolean hasFXBindableAnnotation(AnnotatedNode node) { + for (AnnotationNode annotation : node.getAnnotations()) { + if (annotation.getClassNode().getName().contains("FxBindable")) { + return true; + } + } + return false; + } + + /** + * This ASTTransformation method is called when the compiler encounters our annotation. + * + * @param nodes An array of nodes. Index 0 is the annotation that triggered the call, index 1 + * is the annotated node. + * @param sourceUnit The SourceUnit describing the source code in which the annotation was placed. + */ + @Override + public void visit(ASTNode[] nodes, SourceUnit sourceUnit) { + if (!(nodes[0] instanceof AnnotationNode) || !(nodes[1] instanceof AnnotatedNode)) { + throw new IllegalArgumentException("Internal error: wrong types: " + + nodes[0].getClass().getName() + " / " + nodes[1].getClass().getName()); + } + + AnnotationNode node = (AnnotationNode) nodes[0]; + AnnotatedNode parent = (AnnotatedNode) nodes[1]; + ClassNode declaringClass = parent.getDeclaringClass(); + + if (parent instanceof FieldNode) { + int modifiers = ((FieldNode) parent).getModifiers(); + if ((modifiers & Modifier.FINAL) != 0) { + String msg = "@griffon.transform.FXBindable cannot annotate a final property."; + generateSyntaxErrorMessage(sourceUnit, node, msg); + } + addJavaFXProperty(sourceUnit, node, declaringClass, (FieldNode) parent); + } else { + addJavaFXPropertyToClass(sourceUnit, node, (ClassNode) parent); + } + } + + /** + * Adds a JavaFX property to the class in place of the original Groovy property. A pair of synthetic + * getter/setter methods is generated to provide pseudo-access to the original property. + * + * @param source The SourceUnit in which the annotation was found + * @param node The node that was annotated + * @param declaringClass The class in which the annotation was found + * @param field The field upon which the annotation was placed + */ + private void addJavaFXProperty(SourceUnit source, AnnotationNode node, ClassNode declaringClass, FieldNode field) { + String fieldName = field.getName(); + for (PropertyNode propertyNode : declaringClass.getProperties()) { + if (propertyNode.getName().equals(fieldName)) { + if (field.isStatic()) { + String message = "@griffon.transform.FXBindable cannot annotate a static property."; + generateSyntaxErrorMessage(source, node, message); + } else { + createPropertyGetterSetter(declaringClass, propertyNode); + } + return; + } + } + + String message = "@griffon.transform.FXBindable must be on a property, not a field. Try removing the private, " + + "protected, or public modifier."; + generateSyntaxErrorMessage(source, node, message); + } + + /** + * Iterate through the properties of the class and convert each eligible property to a JavaFX property. + * + * @param source The SourceUnit + * @param node The AnnotationNode + * @param classNode The declaring class + */ + private void addJavaFXPropertyToClass(SourceUnit source, AnnotationNode node, ClassNode classNode) { + for (PropertyNode propertyNode : classNode.getProperties()) { + FieldNode field = propertyNode.getField(); + // look to see if per-field handlers will catch this one... + if (hasFXBindableAnnotation(field) + || ((field.getModifiers() & Modifier.FINAL) != 0) + || field.isStatic()) { + // explicitly labeled properties are already handled, + // don't transform final properties + // don't transform static properties + continue; + } + createPropertyGetterSetter(classNode, propertyNode); + } + } + + /** + * Creates the JavaFX property and three methods for accessing the property and a pair of + * getter/setter methods for accessing the original (now synthetic) Groovy property. For + * example, if the original property was "String firstName" then these three methods would + * be generated: + *

+ * public String getFirstName() + * public void setFirstName(String value) + * public StringProperty firstNameProperty() + * + * @param classNode The declaring class in which the property will appear + * @param originalProp The original Groovy property + */ + private void createPropertyGetterSetter(ClassNode classNode, PropertyNode originalProp) { + Expression initExp = originalProp.getInitialExpression(); + originalProp.getField().setInitialValueExpression(null); + + PropertyNode fxProperty = createFXProperty(originalProp); + + List methodAnnotations = new ArrayList<>(); + List fieldAnnotations = new ArrayList<>(); + for (AnnotationNode annotation : originalProp.getField().getAnnotations()) { + if (annotation.getClassNode().getName().contains("FXBindable")) continue; + Class annotationClass = annotation.getClassNode().getTypeClass(); + Target target = (Target) annotationClass.getAnnotation(Target.class); + if (isTargetAllowed(target, ElementType.METHOD)) { + methodAnnotations.add(annotation); + } else if (isTargetAllowed(target, ElementType.FIELD)) { + fieldAnnotations.add(annotation); + } + } + + String getterName = "get" + MetaClassHelper.capitalize(originalProp.getName()); + if (classNode.getMethods(getterName).isEmpty()) { + Statement getterBlock = createGetterStatement(createFXProperty(originalProp)); + createGetterMethod(classNode, originalProp, getterName, getterBlock, methodAnnotations); + methodAnnotations = null; + } else { + wrapGetterMethod(classNode, originalProp.getName(), methodAnnotations); + methodAnnotations = null; + } + + String setterName = "set" + MetaClassHelper.capitalize(originalProp.getName()); + if (classNode.getMethods(setterName).isEmpty()) { + Statement setterBlock = createSetterStatement(createFXProperty(originalProp)); + createSetterMethod(classNode, originalProp, setterName, setterBlock, methodAnnotations); + } else { + wrapSetterMethod(classNode, originalProp.getName(), methodAnnotations); + } + + // We want the actual name of the field to be different from the getter (Prop vs Property) so + // that the getter takes precedence when we say this.somethingProperty. + FieldNode fxFieldShortName = createFieldNodeCopy(originalProp.getName() + "Prop", null, fxProperty.getField()); + createPropertyAccessor(classNode, createFXProperty(originalProp), fxFieldShortName, initExp); + + classNode.removeField(originalProp.getName()); + classNode.addField(fxFieldShortName); + fxFieldShortName.addAnnotations(fieldAnnotations); + } + + private boolean isTargetAllowed(Target target, ElementType elementType) { + if (target == null) { + return false; + } + for (ElementType et : target.value()) { + if (et == elementType) { + return true; + } + } + return false; + } + + /** + * Creates a new PropertyNode for the JavaFX property based on the original property. The new property + * will have "Property" appended to its name and its type will be one of the *Property types in JavaFX. + * + * @param orig The original property + * @return A new PropertyNode for the JavaFX property + */ + private PropertyNode createFXProperty(PropertyNode orig) { + ClassNode origType = orig.getType(); + ClassNode newType = PROPERTY_TYPE_MAP.get(origType); + + // For the ObjectProperty, we need to add the generic type to it. + if (newType == null) { + if (isTypeCompatible(ClassHelper.LIST_TYPE, origType) || isTypeCompatible(OBSERVABLE_LIST_CNODE, origType)) { + newType = makeClassSafe(SIMPLE_LIST_PROPERTY_CNODE); + GenericsType[] genericTypes = origType.getGenericsTypes(); + newType.setGenericsTypes(genericTypes); + } else if (isTypeCompatible(ClassHelper.MAP_TYPE, origType) || isTypeCompatible(OBSERVABLE_MAP_CNODE, origType)) { + newType = makeClassSafe(SIMPLE_MAP_PROPERTY_CNODE); + GenericsType[] genericTypes = origType.getGenericsTypes(); + newType.setGenericsTypes(genericTypes); + } else if (isTypeCompatible(SET_TYPE, origType) || isTypeCompatible(OBSERVABLE_SET_CNODE, origType)) { + newType = makeClassSafe(SIMPLE_SET_PROPERTY_CNODE); + GenericsType[] genericTypes = origType.getGenericsTypes(); + newType.setGenericsTypes(genericTypes); + } else { // Object Type + newType = makeClassSafe(OBJECT_PROPERTY_CNODE); + ClassNode genericType = origType; + if (genericType.isPrimaryClassNode()) { + genericType = ClassHelper.getWrapper(genericType); + } + newType.setGenericsTypes(new GenericsType[]{new GenericsType(genericType)}); + } + } + + FieldNode fieldNode = createFieldNodeCopy(orig.getName() + "Property", newType, orig.getField()); + return new PropertyNode(fieldNode, orig.getModifiers(), orig.getGetterBlock(), orig.getSetterBlock()); + } + + private boolean isTypeCompatible(ClassNode base, ClassNode target) { + return target.equals(base) || target.implementsInterface(base) || target.declaresInterface(base); + } + + /** + * Creates a setter method and adds it to the declaring class. The setter has the form: + *

+ * void ( fieldName) + * + * @param declaringClass The class to which the method is added + * @param propertyNode The property node being accessed by this setter + * @param setterName The name of the setter method + * @param setterBlock The code body of the method + */ + protected void createSetterMethod(ClassNode declaringClass, PropertyNode propertyNode, String setterName, + Statement setterBlock, List annotations) { + Parameter[] setterParameterTypes = {new Parameter(propertyNode.getType(), "value")}; + int mod = propertyNode.getModifiers() | Modifier.FINAL; + + MethodNode setter = new MethodNode(setterName, mod, ClassHelper.VOID_TYPE, setterParameterTypes, + ClassNode.EMPTY_ARRAY, setterBlock); + if (annotations != null) setter.addAnnotations(annotations); + setter.setSynthetic(true); + declaringClass.addMethod(setter); + } + + + /** + * If the setter already exists, this method should wrap it with our code and then a call to the original + * setter. + *

+ * TODO: Not implemented yet + * + * @param classNode The declaring class to which the method will be added + * @param propertyName The name of the original Groovy property + */ + private void wrapSetterMethod(ClassNode classNode, String propertyName, List annotations) { + System.out.println( + String.format("wrapSetterMethod for '%s', property '%s' not yet implemented", + classNode.getName(), propertyName)); + } + + /** + * Creates a getter method and adds it to the declaring class. + * + * @param declaringClass The class to which the method is added + * @param propertyNode The property node being accessed by this getter + * @param getterName The name of the getter method + * @param getterBlock The code body of the method + */ + protected void createGetterMethod(ClassNode declaringClass, PropertyNode propertyNode, String getterName, + Statement getterBlock, List annotations) { + int mod = propertyNode.getModifiers() | Modifier.FINAL; + MethodNode getter = new MethodNode(getterName, mod, propertyNode.getType(), Parameter.EMPTY_ARRAY, + ClassNode.EMPTY_ARRAY, getterBlock); + if (annotations != null) getter.addAnnotations(annotations); + getter.setSynthetic(true); + declaringClass.addMethod(getter); + } + + /** + * If the getter already exists, this method should wrap it with our code. + *

+ * TODO: Not implemented yet -- what to do with the returned value from the original getter? + * + * @param classNode The declaring class to which the method will be added + * @param propertyName The name of the original Groovy property + */ + private void wrapGetterMethod(ClassNode classNode, String propertyName, List annotations) { + System.out.println( + String.format("wrapGetterMethod for '%s', property '%s' not yet implemented", + classNode.getName(), propertyName)); + } + + + /** + * Creates the body of a property access method that returns the JavaFX *Property instance. If + * the original property was "String firstName" then the generated code would be: + *

+ * if (firstNameProperty == null) { + * firstNameProperty = new javafx.beans.property.StringProperty() + * } + * return firstNameProperty + * + * @param classNode The declaring class to which the JavaFX property will be added + * @param fxProperty The new JavaFX property + * @param fxFieldShortName + * @param initExp The initializer expression from the original Groovy property declaration + */ + private void createPropertyAccessor(ClassNode classNode, PropertyNode fxProperty, FieldNode fxFieldShortName, + Expression initExp) { + FieldExpression fieldExpression = new FieldExpression(fxFieldShortName); + + ArgumentListExpression ctorArgs = initExp == null ? + ArgumentListExpression.EMPTY_ARGUMENTS : + new ArgumentListExpression(initExp); + + BlockStatement block = new BlockStatement(); + ClassNode fxType = fxProperty.getType(); + ClassNode implNode = PROPERTY_IMPL_MAP.get(fxType); + if (implNode == null) { + if (fxType.getTypeClass() == SIMPLE_LIST_PROPERTY_CNODE.getTypeClass()) { + if (initExp != null) { + if (initExp instanceof ListExpression || + (initExp instanceof CastExpression && + (((CastExpression) initExp).getType().equals(LIST_TYPE) || + ((CastExpression) initExp).getType().declaresInterface(LIST_TYPE))) || + (initExp instanceof ConstructorCallExpression && + (((ConstructorCallExpression) initExp).getType().equals(LIST_TYPE) || + ((ConstructorCallExpression) initExp).getType().declaresInterface(LIST_TYPE))) + ) { + ctorArgs = new ArgumentListExpression( + new MethodCallExpression( + new ClassExpression(FXCOLLECTIONS_CNODE), + "observableList", + ctorArgs) + ); + } + } + implNode = fxType; + } else if (fxType.getTypeClass() == SIMPLE_MAP_PROPERTY_CNODE.getTypeClass()) { + if (initExp != null) { + if (initExp instanceof MapExpression || + (initExp instanceof CastExpression && + (((CastExpression) initExp).getType().equals(MAP_TYPE) || + ((CastExpression) initExp).getType().declaresInterface(MAP_TYPE))) || + (initExp instanceof ConstructorCallExpression && + (((ConstructorCallExpression) initExp).getType().equals(MAP_TYPE) || + ((ConstructorCallExpression) initExp).getType().declaresInterface(MAP_TYPE))) + ) { + ctorArgs = new ArgumentListExpression( + new MethodCallExpression( + new ClassExpression(FXCOLLECTIONS_CNODE), + "observableMap", + ctorArgs) + ); + } + } + implNode = fxType; + } else if (fxType.getTypeClass() == SIMPLE_SET_PROPERTY_CNODE.getTypeClass()) { + if (initExp != null) { + if ((initExp instanceof CastExpression && + (((CastExpression) initExp).getType().equals(SET_TYPE) || + ((CastExpression) initExp).getType().declaresInterface(SET_TYPE))) || + (initExp instanceof ConstructorCallExpression && + (((ConstructorCallExpression) initExp).getType().equals(SET_TYPE) || + ((ConstructorCallExpression) initExp).getType().declaresInterface(SET_TYPE))) + ) { + ctorArgs = new ArgumentListExpression( + new MethodCallExpression( + new ClassExpression(FXCOLLECTIONS_CNODE), + "observableSet", + ctorArgs) + ); + } + } + implNode = fxType; + } else { + implNode = makeClassSafe(SIMPLE_OBJECT_PROPERTY_CNODE); + GenericsType[] origGenerics = fxProperty.getType().getGenericsTypes(); + //List copyGenericTypes = new ArrayList(); + //for() + implNode.setGenericsTypes(origGenerics); + } + } + Expression initExpression = new ConstructorCallExpression(implNode, ctorArgs); + + IfStatement ifStmt = new IfStatement( + new BooleanExpression( + new BinaryExpression( + fieldExpression, + Token.newSymbol(Types.COMPARE_EQUAL, 0, 0), + ConstantExpression.NULL + ) + ), + new ExpressionStatement( + new BinaryExpression( + fieldExpression, + Token.newSymbol(Types.EQUAL, 0, 0), + initExpression + ) + ), + EmptyStatement.INSTANCE + ); + block.addStatement(ifStmt); + block.addStatement(new ReturnStatement(fieldExpression)); + + String getterName = getFXPropertyGetterName(fxProperty); + MethodNode accessor = new MethodNode(getterName, fxProperty.getModifiers(), fxProperty.getType(), + Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, block); + accessor.setSynthetic(true); + classNode.addMethod(accessor); + + // Create the xxxxProperty() method that merely calls getXxxxProperty() + block = new BlockStatement(); + + VariableExpression thisExpression = VariableExpression.THIS_EXPRESSION; + ArgumentListExpression emptyArguments = ArgumentListExpression.EMPTY_ARGUMENTS; + + MethodCallExpression getProperty = new MethodCallExpression(thisExpression, getterName, emptyArguments); + block.addStatement(new ReturnStatement(getProperty)); + + String javaFXPropertyFunction = fxProperty.getName(); + + accessor = new MethodNode(javaFXPropertyFunction, fxProperty.getModifiers(), fxProperty.getType(), + Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, block); + accessor.setSynthetic(true); + classNode.addMethod(accessor); + + // Create the xxxx() method that merely calls getXxxxProperty() + block = new BlockStatement(); + + thisExpression = VariableExpression.THIS_EXPRESSION; + emptyArguments = ArgumentListExpression.EMPTY_ARGUMENTS; + + getProperty = new MethodCallExpression(thisExpression, getterName, emptyArguments); + block.addStatement(new ReturnStatement(getProperty)); + javaFXPropertyFunction = fxProperty.getName().replace("Property", ""); + + accessor = new MethodNode(javaFXPropertyFunction, fxProperty.getModifiers(), fxProperty.getType(), + Parameter.EMPTY_ARRAY, ClassNode.EMPTY_ARRAY, block); + accessor.setSynthetic(true); + classNode.addMethod(accessor); + } + + /** + * Creates the body of a setter method for the original property that is actually backed by a + * JavaFX *Property instance: + *

+ * Object $property = this.someProperty() + * $property.setValue(value) + * + * @param fxProperty The original Groovy property that we're creating a setter for. + * @return A Statement that is the body of the new setter. + */ + protected Statement createSetterStatement(PropertyNode fxProperty) { + String fxPropertyGetter = getFXPropertyGetterName(fxProperty); + VariableExpression thisExpression = VariableExpression.THIS_EXPRESSION; + ArgumentListExpression emptyArgs = ArgumentListExpression.EMPTY_ARGUMENTS; + + MethodCallExpression getProperty = new MethodCallExpression(thisExpression, fxPropertyGetter, emptyArgs); + + ArgumentListExpression valueArg = new ArgumentListExpression(new Expression[]{new VariableExpression("value")}); + MethodCallExpression setValue = new MethodCallExpression(getProperty, "setValue", valueArg); + + return new ExpressionStatement(setValue); + } + + /** + * Creates the body of a getter method for the original property that is actually backed by a + * JavaFX *Property instance: + *

+ * Object $property = this.someProperty() + * return $property.getValue() + * + * @param fxProperty The new JavaFX property. + * @return A Statement that is the body of the new getter. + */ + protected Statement createGetterStatement(PropertyNode fxProperty) { + String fxPropertyGetter = getFXPropertyGetterName(fxProperty); + VariableExpression thisExpression = VariableExpression.THIS_EXPRESSION; + ArgumentListExpression emptyArguments = ArgumentListExpression.EMPTY_ARGUMENTS; + + // We're relying on the *Property() method to provide the return value - is this still needed?? +// Expression defaultReturn = defaultReturnMap.get(originalProperty.getType()); +// if (defaultReturn == null) +// defaultReturn = ConstantExpression.NULL; + + MethodCallExpression getProperty = new MethodCallExpression(thisExpression, fxPropertyGetter, emptyArguments); + MethodCallExpression getValue = new MethodCallExpression(getProperty, "getValue", emptyArguments); + + return new ReturnStatement(new ExpressionStatement(getValue)); + } + + /** + * Generates a SyntaxErrorMessage based on the current SourceUnit, AnnotationNode, and a specified + * error message. + * + * @param sourceUnit The SourceUnit + * @param node The node that was annotated + * @param msg The error message to display + */ + private void generateSyntaxErrorMessage(SourceUnit sourceUnit, AnnotationNode node, String msg) { + SyntaxException error = new SyntaxException(msg, node.getLineNumber(), node.getColumnNumber()); + sourceUnit.getErrorCollector().addErrorAndContinue(new SyntaxErrorMessage(error, sourceUnit)); + } + + /** + * Creates a copy of a FieldNode with a new name and, optionally, a new type. + * + * @param newName The name for the new field node. + * @param newType The new type of the field. If null, the old FieldNode's type will be used. + * @param f The FieldNode to copy. + * @return The new FieldNode. + */ + private FieldNode createFieldNodeCopy(String newName, ClassNode newType, FieldNode f) { + if (newType == null) + newType = f.getType(); + newType = newType.getPlainNodeReference(); + + return new FieldNode(newName, f.getModifiers(), newType, f.getOwner(), f.getInitialValueExpression()); + } + + /** + * Generates the correct getter method name for a JavaFX property. + * + * @param fxProperty The property for which the getter should be generated. + * @return The getter name as a String. + */ + private String getFXPropertyGetterName(PropertyNode fxProperty) { + return "get" + capitalize(fxProperty.getName()); + } + + /** + * Capitalize the first letter of the given string. + * + * @param string The source string + * @return The capitalized string + */ + private String capitalize(String string) { + if (string == null || string.equals("")) + return string; + + return Character.toUpperCase(string.charAt(0)) + string.substring(1); + } + + private static ClassNode makeClassSafe(String className) { + return makeClassSafeWithGenerics(className); + } + + private static ClassNode makeClassSafe(Class klass) { + return makeClassSafeWithGenerics(klass); + } + + private static ClassNode makeClassSafe(ClassNode classNode) { + return makeClassSafeWithGenerics(classNode); + } + + private static ClassNode makeClassSafeWithGenerics(String className, String... genericTypes) { + GenericsType[] gtypes = new GenericsType[0]; + if (genericTypes != null) { + gtypes = new GenericsType[genericTypes.length]; + for (int i = 0; i < gtypes.length; i++) { + gtypes[i] = new GenericsType(makeClassSafe(genericTypes[i])); + } + } + return makeClassSafe0(ClassHelper.make(className), gtypes); + } + + private static ClassNode makeClassSafeWithGenerics(Class klass, Class... genericTypes) { + GenericsType[] gtypes = new GenericsType[0]; + if (genericTypes != null) { + gtypes = new GenericsType[genericTypes.length]; + for (int i = 0; i < gtypes.length; i++) { + gtypes[i] = new GenericsType(makeClassSafe(genericTypes[i])); + } + } + return makeClassSafe0(ClassHelper.make(klass), gtypes); + } + + private static ClassNode makeClassSafeWithGenerics(ClassNode classNode, ClassNode... genericTypes) { + GenericsType[] gtypes = new GenericsType[0]; + if (genericTypes != null) { + gtypes = new GenericsType[genericTypes.length]; + for (int i = 0; i < gtypes.length; i++) { + gtypes[i] = new GenericsType(newClass(genericTypes[i])); + } + } + return makeClassSafe0(classNode, gtypes); + } + + private static GenericsType makeGenericsType(String className, String[] upperBounds, String lowerBound, boolean placeHolder) { + ClassNode[] up = new ClassNode[0]; + if (upperBounds != null) { + up = new ClassNode[upperBounds.length]; + for (int i = 0; i < up.length; i++) { + up[i] = makeClassSafe(upperBounds[i]); + } + } + return makeGenericsType(makeClassSafe(className), up, makeClassSafe(lowerBound), placeHolder); + } + + private static GenericsType makeGenericsType(Class klass, Class[] upperBounds, Class lowerBound, boolean placeHolder) { + ClassNode[] up = new ClassNode[0]; + if (upperBounds != null) { + up = new ClassNode[upperBounds.length]; + for (int i = 0; i < up.length; i++) { + up[i] = makeClassSafe(upperBounds[i]); + } + } + return makeGenericsType(makeClassSafe(klass), up, makeClassSafe(lowerBound), placeHolder); + } + + private static GenericsType makeGenericsType(ClassNode classNode, ClassNode[] upperBounds, ClassNode lowerBound, boolean placeHolder) { + classNode = newClass(classNode); + classNode.setGenericsPlaceHolder(placeHolder); + return new GenericsType(classNode, upperBounds, lowerBound); + } + + private static ClassNode makeClassSafe0(ClassNode classNode, GenericsType... genericTypes) { + ClassNode plainNodeReference = newClass(classNode); + if (genericTypes != null && genericTypes.length > 0) { + plainNodeReference.setGenericsTypes(genericTypes); + } + return plainNodeReference; + } + + private static ClassNode newClass(ClassNode classNode) { + return classNode.getPlainNodeReference(); + } + +} diff --git a/src/demo/groovy/demo/AnalogClockDemo.groovy b/src/demo/groovy/demo/AnalogClockDemo.groovy index c366307..7045c99 100644 --- a/src/demo/groovy/demo/AnalogClockDemo.groovy +++ b/src/demo/groovy/demo/AnalogClockDemo.groovy @@ -84,13 +84,9 @@ start { group(layoutX: centerX, layoutY: centerY) { // outer rim circle(radius: radius + 20) { - fill(radialGradient(radius: 1.0, center: [0.0, 0.0], focusDistance: 0.5, focusAngle: 0, - stops: [[0.9, SILVER], [1.0, BLACK]])) } // clock face circle(radius: radius + 10, stroke: BLACK) { - fill(radialGradient(radius: 1.0, center: [0.0, 0.0], focusDistance: 4.0, focusAngle: 90, - stops: [[0.0, WHITE], [1.0, CADETBLUE]])) } // dots around the clock for the hours nodes(hourDots) From 6a005506e9a6646d602ce7c3632ffd0328323f61 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Mon, 26 Aug 2024 09:28:29 +0200 Subject: [PATCH 7/9] Library upgrades --- src/demo/groovy/DbSchemaDemo2.groovy | 66 ++++++++++++++++ src/demo/groovy/demo/DbSchemaDemo.groovy | 80 ++++++++++++++++++++ src/main/groovy/groovyx/javafx/GroovyFX.java | 11 +++ 3 files changed, 157 insertions(+) create mode 100644 src/demo/groovy/DbSchemaDemo2.groovy create mode 100644 src/demo/groovy/demo/DbSchemaDemo.groovy diff --git a/src/demo/groovy/DbSchemaDemo2.groovy b/src/demo/groovy/DbSchemaDemo2.groovy new file mode 100644 index 0000000..ddc8767 --- /dev/null +++ b/src/demo/groovy/DbSchemaDemo2.groovy @@ -0,0 +1,66 @@ +@GrabConfig(systemClassLoader=true) +@Grab('mysql:mysql-connector-java:8.0.26') + + +import groovy.sql.Sql +import javafx.application.Application +import javafx.scene.Scene +import javafx.scene.chart.BarChart +import javafx.scene.chart.CategoryAxis +import javafx.scene.chart.NumberAxis +import javafx.scene.chart.XYChart +import javafx.stage.Stage +import static groovyx.javafx.GroovyFX.start + + +class DbSchemaDemo2 extends Application { + @Override + void start(Stage stage) { + + + @GrabConfig(systemClassLoader = true) + @Grab(group='mysql', module='mysql-connector-java', version='8.0.26') + + // Establishing the connection + def sql = Sql.newInstance('jdbc:mysql://localhost:3306/dbschema', 'dbschema', 'dbschema12', 'com.mysql.cj.jdbc.Driver') + + // Executing a query + sql.eachRow('SELECT VERSION()') { row -> + println "Database version: ${row[0]}" + } + + + stage.title = 'Persons Age Chart' + + // Define the axes + final CategoryAxis xAxis = new CategoryAxis() + final NumberAxis yAxis = new NumberAxis() + xAxis.label = 'Name' + yAxis.label = 'Age' + + // Create the chart + final BarChart barChart = new BarChart<>(xAxis, yAxis) + barChart.title = 'Age of Persons' + + // Fetch data from the database + def data = sql.rows('SELECT name, age FROM persons') + + // Populate the chart with data + XYChart.Series series = new XYChart.Series<>() + series.name = 'Persons' + data.each { row -> + series.data.add(new XYChart.Data<>(row.name, row.age)) + } + + barChart.data.add(series) + + // Set up the scene and stage + Scene scene = new Scene(barChart, 800, 600) + stage.scene = scene + stage.show() + } + + static void main(String[] args) { + launch(args) + } +} \ No newline at end of file diff --git a/src/demo/groovy/demo/DbSchemaDemo.groovy b/src/demo/groovy/demo/DbSchemaDemo.groovy new file mode 100644 index 0000000..7d48404 --- /dev/null +++ b/src/demo/groovy/demo/DbSchemaDemo.groovy @@ -0,0 +1,80 @@ +import javafx.scene.Scene +import javafx.scene.chart.BarChart +import javafx.scene.chart.CategoryAxis +import javafx.scene.chart.NumberAxis +import javafx.scene.chart.XYChart +import javafx.stage.Stage + +import static groovyx.javafx.GroovyFX.start +import static groovyx.javafx.GroovyFX.startStage +import groovy.sql.Sql + +@GrabConfig(systemClassLoader = true) +@Grab(group='mysql', module='mysql-connector-java', version='8.0.26') + +// Establishing the connection +def sql = Sql.newInstance('jdbc:mysql://localhost:3306/dbschema', 'dbschema', 'dbschema12', 'com.mysql.cj.jdbc.Driver') + +// Executing a query +sql.eachRow('SELECT VERSION()') { row -> + println "Database version: ${row[0]}" +} + +// Closing the connection + + +start { + + final CategoryAxis xAxis = new CategoryAxis() + final NumberAxis yAxis = new NumberAxis() + xAxis.label = 'Title' + yAxis.label = 'Rental Duration' + + // Create the chart + final BarChart barChart = new BarChart<>(xAxis, yAxis) + barChart.title = 'Rental Duration' + + // Fetch data from the database + def data = sql.rows('SELECT title, rental_duration FROM sakila.film') + + // Populate the chart with data + XYChart.Series series = new XYChart.Series<>() + series.name = 'Persons' + data.each { row -> + series.data.add(new XYChart.Data<>(row.title, row.rental_duration)) + } + + barChart.data.add(series) + + // Set up the scene and stage + Scene scene = new Scene(barChart, 800, 600) + Stage stage = new Stage() + stage.scene = scene + stage.show() + + + startStage { + stage(title: "GroovyFX Accordion Demo", x: 100, y: 100, visible: true, style: "decorated", primary: true) { + scene(fill: ALICEBLUE, width: 400, height: 400) { + accordion { + titledPane(id: "t1", text: "Label 1") { + content { + label(text: "This is Label 1\n\nAnd there were a few empty lines just there!") + } + } + titledPane(id: "t2", text: "Label 2") { + content { + label(text: "This is Label 2\n\nAnd there were a few empty lines just there!") + } + } + titledPane(id: "t3", text: "Label 3") { + // this is content + label(text: "This is Label 3\n\nAnd there were a few empty lines just there!") + } + } + } + } + } +} + + diff --git a/src/main/groovy/groovyx/javafx/GroovyFX.java b/src/main/groovy/groovyx/javafx/GroovyFX.java index a9a53b2..e5db69a 100644 --- a/src/main/groovy/groovyx/javafx/GroovyFX.java +++ b/src/main/groovy/groovyx/javafx/GroovyFX.java @@ -54,4 +54,15 @@ public static void start(Closure buildMe) { closure = buildMe; Application.launch(); } + + public static void startStage( Closure buildMe ){ + try { + Stage primaryStage = new Stage(); + buildMe.setDelegate(new SceneGraphBuilder(primaryStage)); + InvokerHelper.invokeClosure(buildMe, new Object[] { primaryStage }); + } catch(RuntimeException re) { + re.printStackTrace(); + throw re; + } + } } From 195d09d6dd483a7ce452da88cadcbd78a9d49083 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Tue, 3 Sep 2024 20:59:45 +0200 Subject: [PATCH 8/9] Library upgrades --- build.gradle | 3 +- gradle.properties | 2 +- src/demo/groovy/demo/AnalogClockDemo.groovy | 6 +- .../groovy/{ => demo}/DbSchemaDemo2.groovy | 5 +- .../groovy/demo2/MySqlSpaceManager.groovy | 125 ++++++++++++++++++ src/main/groovy/groovyx/javafx/GroovyFX.java | 43 ++++-- .../groovyx/javafx/SceneGraphBuilder.groovy | 71 +++++----- .../javafx/factory/TreeItemFactory.groovy | 15 +-- ...rg.codehaus.groovy.runtime.ExtensionModule | 16 --- 9 files changed, 208 insertions(+), 78 deletions(-) rename src/demo/groovy/{ => demo}/DbSchemaDemo2.groovy (93%) create mode 100644 src/demo/groovy/demo2/MySqlSpaceManager.groovy delete mode 100644 src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule diff --git a/build.gradle b/build.gradle index 4dac3e1..d5f52f6 100755 --- a/build.gradle +++ b/build.gradle @@ -129,7 +129,8 @@ sourceSets { task createJar(type: Jar) { archiveBaseName.set('groovyfx') - from sourceSets.main.output + from sourceSets.ast.output, sourceSets.main.output + exclude( "idesupport") } // ---------------- dynamic tasks to run demos ------------------ diff --git a/gradle.properties b/gradle.properties index a937f24..fde1837 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,7 @@ group = org.groovyfx archivesBaseName = groovyfx -version = 12.0.0 +version = 12.1 groovyfx_javafxVersion = 11 groovyfx_groovyVersion = 4.0.22 groovyfx_junitVersion = 4.13.2 diff --git a/src/demo/groovy/demo/AnalogClockDemo.groovy b/src/demo/groovy/demo/AnalogClockDemo.groovy index 7045c99..fe4778e 100644 --- a/src/demo/groovy/demo/AnalogClockDemo.groovy +++ b/src/demo/groovy/demo/AnalogClockDemo.groovy @@ -86,21 +86,21 @@ start { circle(radius: radius + 20) { } // clock face - circle(radius: radius + 10, stroke: BLACK) { + circle(radius: radius + 10, fill: WHITE, stroke: BLACK) { } // dots around the clock for the hours nodes(hourDots) // center circle(radius: 5, fill: BLACK) // hour hand - path(fill: BLACK) { + path(fill: YELLOW) { rotate(angle: bind(time.hourAngle())) moveTo(x: 4, y: -4) arcTo(radiusX: -1, radiusY: -1, x: -4, y: -4) lineTo(x: 0, y: -radius / 4 * 3) } // minute hand - path(fill: BLACK) { + path(fill: YELLOW) { rotate(angle: bind(time.minuteAngle())) moveTo(x: 4, y: -4) arcTo(radiusX: -1, radiusY: -1, x: -4, y: -4) diff --git a/src/demo/groovy/DbSchemaDemo2.groovy b/src/demo/groovy/demo/DbSchemaDemo2.groovy similarity index 93% rename from src/demo/groovy/DbSchemaDemo2.groovy rename to src/demo/groovy/demo/DbSchemaDemo2.groovy index ddc8767..498b3fa 100644 --- a/src/demo/groovy/DbSchemaDemo2.groovy +++ b/src/demo/groovy/demo/DbSchemaDemo2.groovy @@ -1,5 +1,4 @@ -@GrabConfig(systemClassLoader=true) -@Grab('mysql:mysql-connector-java:8.0.26') +package demo import groovy.sql.Sql @@ -10,8 +9,6 @@ import javafx.scene.chart.CategoryAxis import javafx.scene.chart.NumberAxis import javafx.scene.chart.XYChart import javafx.stage.Stage -import static groovyx.javafx.GroovyFX.start - class DbSchemaDemo2 extends Application { @Override diff --git a/src/demo/groovy/demo2/MySqlSpaceManager.groovy b/src/demo/groovy/demo2/MySqlSpaceManager.groovy new file mode 100644 index 0000000..1407986 --- /dev/null +++ b/src/demo/groovy/demo2/MySqlSpaceManager.groovy @@ -0,0 +1,125 @@ +import com.sun.javafx.stage.StageHelper +import groovy.sql.Sql +import groovy.transform.Canonical +import groovyx.javafx.beans.FXBindable +import javafx.collections.FXCollections +import javafx.scene.chart.PieChart +import javafx.scene.control.Hyperlink +import javafx.scene.control.TableCell + +import static groovyx.javafx.GroovyFX.start + +@Canonical +class DbItem { + @FXBindable String name + @FXBindable long dataSize + @FXBindable long indexSize +} + +@GrabConfig(systemClassLoader = true) +@Grab(group = 'mysql', module = 'mysql-connector-java', version = '8.0.26') + +schemes = FXCollections.observableList([]) +tables = FXCollections.observableList([]) +chartData = FXCollections.observableArrayList() +chartData2 = FXCollections.observableArrayList() +chartData2.add(new PieChart.Data("No Data", 1)) +def schemaTableView + +Sql getSql(){ + Sql.newInstance('jdbc:mysql://localhost:3306/sakila', 'dbschema', 'dbschema12', 'com.mysql.cj.jdbc.Driver') +} + +sql = getSql() +sql.eachRow(""" + SELECT + schemaName, + SUM(dataSize) dataSize, + SUM(indexSize) indexSize + FROM ( + SELECT + table_schema schemaName, + ifNull(data_length,0) dataSize, + ifNull(index_length,0) indexSize + FROM information_schema.tables + WHERE table_schema NOT IN ('mysql','information_schema') + ORDER BY data_length+index_length + ) a + GROUP BY schemaName + """) { row -> + schemes.add( new DbItem(name: row.schemaName, dataSize: row.dataSize, indexSize : row.indexSize ) ) + chartData.add(new PieChart.Data(row.schemaName, row.dataSize + row.indexSize )) +} +sql.close() + + + + +void refreshDetails( DbItem schemaItem ){ + tables.clear() + chartData2.clear() + if ( schemaItem != null ) { + Sql sql = getSql() + sql.eachRow( + """ + SELECT + table_name tableName, + ifNull(data_length,0) dataSize, + ifNull(index_length,0) indexSize + FROM information_schema.tables + WHERE table_schema=? ORDER By dataSize + indexSize + """, [schemaItem.name]) { row -> + tables.add(new DbItem(name: row.tableName, dataSize: row.dataSize, indexSize: row.indexSize)) + chartData2.add(new PieChart.Data(row.tableName, row.dataSize + row.indexSize)) + } + } + sql.close() +} + + + +start { + + stage(title: 'MySQL Space Management', width: 1024, height: 960, visible: true, owner: StageHelper.getStages().get(0)) { + scene { + splitPane(orientation: VERTICAL, prefHeight: 200) { + dividerPosition(index: 0, position: 0.5) + splitPane(orientation: HORIZONTAL, prefHeight: 200) { + dividerPosition(index: 0, position: 0.5) + pieChart(data: chartData) + schemaTableView = tableView(items: schemes) { + tableColumn(property: "name", text: "Schema Name", prefWidth: 250, cellFactory: { + new TableCell() { + Hyperlink hyperlink = new Hyperlink(); + + @Override + protected void updateItem(String item, boolean empty) { + super.updateItem(item, empty); + setText(null); + if (item != null && !empty) { + hyperlink.setText(item) + setGraphic(hyperlink) + } + } + } + }) + tableColumn(property: "dataSize", text: "Data Size", prefWidth: 80) + tableColumn(property: "indexSize", text: "Index Size", prefWidth: 80) + } + schemaTableView.getSelectionModel().selectedItemProperty().addListener((o,p,c)-> { + refreshDetails( c ) + }) + } + splitPane(orientation: HORIZONTAL, prefHeight: 200) { + dividerPosition(index: 0, position: 0.5) + pieChart(data: chartData2) + tableView(items: tables) { + tableColumn(property: "name", text: "Tables in Selected Schema", prefWidth: 200) + tableColumn(property: "dataSize", text: "Data Size", prefWidth: 80) + tableColumn(property: "indexSize", text: "Index Size", prefWidth: 80) + } + } + } + } + } +} diff --git a/src/main/groovy/groovyx/javafx/GroovyFX.java b/src/main/groovy/groovyx/javafx/GroovyFX.java index e5db69a..109efa6 100644 --- a/src/main/groovy/groovyx/javafx/GroovyFX.java +++ b/src/main/groovy/groovyx/javafx/GroovyFX.java @@ -19,10 +19,16 @@ import groovy.lang.Closure; import javafx.application.Application; +import javafx.application.Platform; +import javafx.collections.ObservableList; import javafx.embed.swing.JFXPanel; +import javafx.scene.Scene; import javafx.stage.Stage; +import javafx.stage.Window; import org.codehaus.groovy.runtime.InvokerHelper; +import java.awt.*; + /** * General starter application that displays a stage. * @author jimclarke @@ -50,19 +56,28 @@ public void start(Stage primaryStage) throws Exception { * @param buildMe The code that is to be built in the context of a SceneGraphBuilder for the primary * stage and started */ - public static void start(Closure buildMe) { - closure = buildMe; - Application.launch(); - } + public static void start(Closure buildMe) { + closure = buildMe; + if ( Platform.isFxApplicationThread()){ + try { + final Stage primaryStage = new Stage(); + // FIND OUT WHERE THE SCENE IS CREATED + // primaryStage.sceneProperty().addListener((o,p,c)-> Thread.dumpStack()); + + final ObservableList activeWindows = Window.getWindows(); + System.out.println("Currently active " + activeWindows.size() + " windows."); + if ( !activeWindows.isEmpty()) { + primaryStage.initOwner( activeWindows.get( activeWindows.size()-1 )); + } + buildMe.setDelegate(new SceneGraphBuilder(primaryStage)); + InvokerHelper.invokeClosure(buildMe, new Object[] { primaryStage }); + } catch(RuntimeException re) { + re.printStackTrace(); + throw re; + } + } else { + Application.launch(); + } + } - public static void startStage( Closure buildMe ){ - try { - Stage primaryStage = new Stage(); - buildMe.setDelegate(new SceneGraphBuilder(primaryStage)); - InvokerHelper.invokeClosure(buildMe, new Object[] { primaryStage }); - } catch(RuntimeException re) { - re.printStackTrace(); - throw re; - } - } } diff --git a/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy b/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy index 19d707f..f7f0a5d 100644 --- a/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy +++ b/src/main/groovy/groovyx/javafx/SceneGraphBuilder.groovy @@ -121,6 +121,7 @@ import javafx.stage.Stage import javafx.stage.Window import org.codehaus.groovy.runtime.MethodClosure +import java.lang.reflect.Field import java.util.logging.Logger /** @@ -172,11 +173,11 @@ class SceneGraphBuilder extends FactoryBuilderSupport { Platform.runLater(c); return this; } - + boolean isFxApplicationThread() { Platform.isFxApplicationThread(); } - + protected Factory resolveFactory(Object name, Map attributes, Object value) { // First, see if parent factory has a factory, // if not, go to the builder. @@ -192,7 +193,7 @@ class SceneGraphBuilder extends FactoryBuilderSupport { }else { factory = super.resolveFactory(name, attributes, value); } - + return factory } @@ -207,7 +208,7 @@ class SceneGraphBuilder extends FactoryBuilderSupport { def listener = new ChangeListener() { @Override public void changed(ObservableValue observable, - Worker.State oldState, Worker.State newState) { + Worker.State oldState, Worker.State newState) { defer { switch(newState) { case Worker.State.SUCCEEDED: @@ -234,9 +235,9 @@ class SceneGraphBuilder extends FactoryBuilderSupport { wv.engine.loadWorker.stateProperty().addListener(listener); } } - + if(Platform.isFxApplicationThread()) { - submitClosure.call() + submitClosure.call() }else { defer submitClosure } @@ -311,7 +312,7 @@ class SceneGraphBuilder extends FactoryBuilderSupport { throw new MissingPropertyException("Unrecognized property: ${name}", name, this.class); } - + Color rgb(int r, int g, int b) { Color.rgb(r,g,b); } @@ -335,16 +336,16 @@ class SceneGraphBuilder extends FactoryBuilderSupport { public void registerBeanFactory(String nodeName, String groupName, Class beanClass) { // poke at the type to see if we need special handling if(ContextMenu.isAssignableFrom(beanClass) || - MenuBar.isAssignableFrom(beanClass) || - MenuButton.isAssignableFrom(beanClass) || - SplitMenuButton.isAssignableFrom(beanClass) ) { + MenuBar.isAssignableFrom(beanClass) || + MenuButton.isAssignableFrom(beanClass) || + SplitMenuButton.isAssignableFrom(beanClass) ) { registerFactory nodeName, groupName, new MenuFactory(beanClass) }else if(MenuItem.isAssignableFrom(beanClass)) { registerFactory nodeName, groupName, new MenuItemFactory(beanClass) }else if(TreeItem.isAssignableFrom(beanClass)) { registerFactory nodeName, groupName, new TreeItemFactory(beanClass) }else if(TableView.isAssignableFrom(beanClass) || - TableColumn.isAssignableFrom(beanClass) ){ + TableColumn.isAssignableFrom(beanClass) ){ registerFactory nodeName, groupName, new TableFactory(beanClass) }else if(Labeled.isAssignableFrom(beanClass)) { registerFactory nodeName, groupName, new LabeledFactory(beanClass) @@ -365,9 +366,9 @@ class SceneGraphBuilder extends FactoryBuilderSupport { } else if(Parent.isAssignableFrom(beanClass)) { registerFactory nodeName, groupName, new ContainerFactory(beanClass) } else if(Window.isAssignableFrom(beanClass) || - DirectoryChooser.isAssignableFrom(beanClass) || - FileChooser.isAssignableFrom(beanClass)) { - registerFactory nodeName, groupName, new StageFactory(beanClass) + DirectoryChooser.isAssignableFrom(beanClass) || + FileChooser.isAssignableFrom(beanClass)) { + registerFactory nodeName, groupName, new StageFactory(beanClass) } else if(XYChart.isAssignableFrom(beanClass)) { registerFactory nodeName, groupName, new XYChartFactory(beanClass) } else if(PieChart.isAssignableFrom(beanClass)) { @@ -447,12 +448,12 @@ class SceneGraphBuilder extends FactoryBuilderSupport { registerFactory 'right', new BorderPanePositionFactory(BorderPanePosition) registerFactory 'center', new BorderPanePositionFactory(BorderPanePosition) } - + void registerCanvas() { CanvasFactory cf = new CanvasFactory(); - + registerFactory "canvas", cf - + cf.registerFactory "appendSVGPath", new CanvasOperationFactory(AppendSVGPathOperation) cf.registerFactory "applyEffect", new CanvasOperationFactory(ApplyEffectOperation) cf.registerFactory "arc", new CanvasOperationFactory(ArcOperation) @@ -504,18 +505,18 @@ class SceneGraphBuilder extends FactoryBuilderSupport { cf.registerFactory "transform", new CanvasOperationFactory(TransformOperation) cf.registerFactory "translate", new CanvasOperationFactory(TranslateOperation) cf.registerFactory "operation", new CanvasClosureOperationFactory(ClosureOperation) - + DrawFactory df = new DrawFactory(); - + registerFactory "draw", df df.childFactories = cf.childFactories - + } void registerBinding() { BindFactory bf = new BindFactory(); registerFactory "bind", bf; - + registerFactory "onChange", new ChangeFactory(ChangeListener) registerFactory "onInvalidate", new ChangeFactory(InvalidationListener) } @@ -732,20 +733,20 @@ class SceneGraphBuilder extends FactoryBuilderSupport { TimelineFactory tf = new TimelineFactory(Timeline) registerFactory 'timeline', tf - + KeyFrameFactory kf = new KeyFrameFactory(KeyFrameWrapper) tf.registerFactory "at", kf - - + + KeyValueFactory kvf = new KeyValueFactory(TargetHolder); kf.registerFactory "change",kvf kvf.registerFactory "to", new KeyValueSubFactory(Object) kvf.registerFactory "tween", new KeyValueSubFactory(Interpolator) - + // applies to Timeline and KeyFrame registerFactory "onFinished", new ClosureHandlerFactory(GroovyEventHandler) - - + + } void registerMedia() { @@ -767,11 +768,14 @@ class SceneGraphBuilder extends FactoryBuilderSupport { if(parent instanceof MediaView && node instanceof MediaPlayer) { parent.mediaPlayer = node; } else if(parent instanceof Stage && node instanceof Scene) { + if ( parent.getOwner() != null ) { + node.getStylesheets().addAll(parent.getOwner().getScene().getStylesheets()) + } parent.scene = node } else if(node instanceof FXMLLoaderBuilder) { node = node.build(); } - } + } private static idDelegate = { FactoryBuilderSupport builder, node, Map attributes -> if (attributes.id) builder.setVariable(attributes.id, node) @@ -787,9 +791,14 @@ class SceneGraphBuilder extends FactoryBuilderSupport { //Color.NamedColors.NAMED_COLORS.put("groovyblue", Color.rgb(99, 152, 170)) - Color.NamedColors.NAMED_COLORS.each { name, color -> - setVariable(name, color) // would love to remove this one - setVariable(name.toUpperCase(), color) + Field[] field = Color.class.getFields(); + for (int i = 0; i < field.length; i++) { + Field f = field[i]; + Object obj = f.get(null); + if(obj instanceof Color ){ + setVariable(f.getName(), (Color) obj) // would love to remove this one + setVariable(f.getName().toUpperCase(), (Color) obj) + } } propertyMap.each { name, value -> diff --git a/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy b/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy index 07950d1..4a45947 100644 --- a/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/TreeItemFactory.groovy @@ -32,15 +32,14 @@ class TreeItemFactory extends AbstractFXBeanFactory { public static def treeItemEvents static { treeItemEvents = [ - "onBranchCollapse": TreeItem.BRANCH_COLLAPSED_EVENT, - "onBranchExpand" : TreeItem.BRANCH_EXPANDED_EVENT, - "onChildrenModification" : TreeItem.CHILDREN_MODIFICATION_EVENT, - "onGraphicChanged" : TreeItem.GRAPHIC_CHANGED_EVENT, - "onTreeNotification" : TreeItem.TREE_NOTIFICATION_EVENT, - "onValueChanged" : TreeItem.VALUE_CHANGED_EVENT + "onBranchCollapse": TreeItem.branchExpandedEvent(), + "onBranchExpand" : TreeItem.branchExpandedEvent(), + "onChildrenModification" : TreeItem.childrenModificationEvent(), + "onGraphicChanged" : TreeItem.graphicChangedEvent(), + "onTreeNotification" : TreeItem.treeNotificationEvent(), + "onValueChanged" : TreeItem.valueChangedEvent() ] - String constName = "EXPANDED_ITEM_COUNT_CHANGE_EVENT" - treeItemEvents.onExpandedItemCountChange = TreeItem."$constName" + treeItemEvents.onExpandedItemCountChange = TreeItem.expandedItemCountChangeEvent() } public TreeItemFactory() { diff --git a/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule b/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule deleted file mode 100644 index e0320a6..0000000 --- a/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule +++ /dev/null @@ -1,16 +0,0 @@ -moduleName=groovyfx -moduleVersion=@groovyfx.version@ -extensionClasses=groovyx.javafx.extension.NumberExtension,\ -groovyx.javafx.extension.ReadOnlyDoublePropertyExtension,\ -groovyx.javafx.extension.ReadOnlyFloatPropertyExtension,\ -groovyx.javafx.extension.ReadOnlyIntegerPropertyExtension,\ -groovyx.javafx.extension.ReadOnlyLongPropertyExtension,\ -groovyx.javafx.extension.ReadOnlyBooleanPropertyExtension,\ -groovyx.javafx.extension.BooleanBindingExtension,\ -groovyx.javafx.extension.NumberBindingExtension,\ -groovyx.javafx.extension.ReadOnlyObjectPropertyExtension,\ -groovyx.javafx.extension.ReadOnlyListPropertyExtension,\ -groovyx.javafx.extension.ReadOnlyMapPropertyExtension,\ -groovyx.javafx.extension.NodeExtension,\ -groovyx.javafx.extension.ControlsExtension -staticExtensionClasses= \ No newline at end of file From b5a713d1e4c3deb07a3b7e4c55167170fd6e49a8 Mon Sep 17 00:00:00 2001 From: wise-coders Date: Tue, 17 Sep 2024 07:24:37 +0200 Subject: [PATCH 9/9] Library upgrades --- src/main/groovy/groovyx/javafx/GroovyFX.java | 4 ++-- .../groovy/groovyx/javafx/factory/StageFactory.groovy | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/groovy/groovyx/javafx/GroovyFX.java b/src/main/groovy/groovyx/javafx/GroovyFX.java index 109efa6..7d67ec8 100644 --- a/src/main/groovy/groovyx/javafx/GroovyFX.java +++ b/src/main/groovy/groovyx/javafx/GroovyFX.java @@ -60,15 +60,15 @@ public static void start(Closure buildMe) { closure = buildMe; if ( Platform.isFxApplicationThread()){ try { - final Stage primaryStage = new Stage(); // FIND OUT WHERE THE SCENE IS CREATED // primaryStage.sceneProperty().addListener((o,p,c)-> Thread.dumpStack()); + final Stage primaryStage = new Stage(); final ObservableList activeWindows = Window.getWindows(); - System.out.println("Currently active " + activeWindows.size() + " windows."); if ( !activeWindows.isEmpty()) { primaryStage.initOwner( activeWindows.get( activeWindows.size()-1 )); } + buildMe.setDelegate(new SceneGraphBuilder(primaryStage)); InvokerHelper.invokeClosure(buildMe, new Object[] { primaryStage }); } catch(RuntimeException re) { diff --git a/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy b/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy index e09faa0..1e5d0a8 100644 --- a/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy +++ b/src/main/groovy/groovyx/javafx/factory/StageFactory.groovy @@ -18,6 +18,7 @@ package groovyx.javafx.factory import groovyx.javafx.event.GroovyEventHandler +import javafx.application.Platform import javafx.event.EventHandler import javafx.stage.FileChooser import javafx.stage.Popup @@ -79,6 +80,9 @@ class StageFactory extends AbstractFXBeanFactory { def centerOnScreen = attributes.remove("centerOnScreen"); builder.context.put("centerOnScreen", centerOnScreen); + def showAndWait = attributes.remove("showAndWait"); + builder.context.put("showAndWait", showAndWait); + def show = attributes.remove("show"); if(show == null) show = attributes.remove("visible"); @@ -123,7 +127,9 @@ class StageFactory extends AbstractFXBeanFactory { if(builder.context.centerOnScreen) { node.centerOnScreen(); } - if (builder.context.show) { + if (builder.context.showAndWait) { + node.showAndWait(); + } else if (builder.context.show) { node.show(); } }