Merge remote-tracking branch 'origin/2.6.x'
Conflicts:
bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/pom.xml
bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/pom.xml
bundles/code/org.eclipse.fx.code.editor.asciidoc/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.asciidoc/pom.xml
bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/pom.xml
bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/pom.xml
bundles/code/org.eclipse.fx.code.editor.configuration.text/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.configuration.text/pom.xml
bundles/code/org.eclipse.fx.code.editor.configuration/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.configuration/pom.xml
bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.e4/pom.xml
bundles/code/org.eclipse.fx.code.editor.fx.e4/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.fx.e4/pom.xml
bundles/code/org.eclipse.fx.code.editor.fx.themes/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.fx.themes/pom.xml
bundles/code/org.eclipse.fx.code.editor.fx/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.fx/pom.xml
bundles/code/org.eclipse.fx.code.editor.fx/src/org/eclipse/fx/code/editor/fx/SimpleSourceTextEditorBuilder.java
bundles/code/org.eclipse.fx.code.editor.langs.contrib/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.langs.contrib/pom.xml
bundles/code/org.eclipse.fx.code.editor.langs.themes/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.langs.themes/pom.xml
bundles/code/org.eclipse.fx.code.editor.langs/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor.langs/pom.xml
bundles/code/org.eclipse.fx.code.editor/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.code.editor/pom.xml
bundles/code/org.eclipse.fx.text.compat/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.text.compat/pom.xml
bundles/code/org.eclipse.fx.text.ui/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.text.ui/pom.xml
bundles/code/org.eclipse.fx.text/META-INF/MANIFEST.MF
bundles/code/org.eclipse.fx.text/pom.xml
bundles/runtime/javax.annotation.jre/pom.xml
bundles/runtime/javax.xml.jre/pom.xml
bundles/runtime/org.eclipse.fx.core.databinding/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.databinding/pom.xml
bundles/runtime/org.eclipse.fx.core.di.context/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.di.context/pom.xml
bundles/runtime/org.eclipse.fx.core.di/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.di/pom.xml
bundles/runtime/org.eclipse.fx.core.fxml/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.fxml/pom.xml
bundles/runtime/org.eclipse.fx.core.guice/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.guice/pom.xml
bundles/runtime/org.eclipse.fx.core.log4j/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.log4j/pom.xml
bundles/runtime/org.eclipse.fx.core.p2/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.p2/pom.xml
bundles/runtime/org.eclipse.fx.core.slf4j/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core.slf4j/pom.xml
bundles/runtime/org.eclipse.fx.core/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.core/pom.xml
bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/JavaDSServiceProcessor.java
bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/ValidatedPropertyBase.java
bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/SourceTextEditActions.java
bundles/runtime/org.eclipse.fx.emf.databinding/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.emf.databinding/pom.xml
bundles/runtime/org.eclipse.fx.emf.edit.ui/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.emf.edit.ui/pom.xml
bundles/runtime/org.eclipse.fx.formats.svg/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.formats.svg/pom.xml
bundles/runtime/org.eclipse.fx.javafx/pom.xml
bundles/runtime/org.eclipse.fx.osgi.util/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.osgi.util/pom.xml
bundles/runtime/org.eclipse.fx.osgi/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.osgi/pom.xml
bundles/runtime/org.eclipse.fx.ui.animation/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.animation/pom.xml
bundles/runtime/org.eclipse.fx.ui.controls/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.controls/pom.xml
bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/skin/StyledTextSkin.java
bundles/runtime/org.eclipse.fx.ui.databinding/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.databinding/pom.xml
bundles/runtime/org.eclipse.fx.ui.di.interopt/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.di.interopt/pom.xml
bundles/runtime/org.eclipse.fx.ui.di/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.di/pom.xml
bundles/runtime/org.eclipse.fx.ui.dialogs/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.dialogs/pom.xml
bundles/runtime/org.eclipse.fx.ui.keybindings.e4/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.keybindings.e4/pom.xml
bundles/runtime/org.eclipse.fx.ui.keybindings.generic/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.keybindings.generic/pom.xml
bundles/runtime/org.eclipse.fx.ui.keybindings/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.keybindings/pom.xml
bundles/runtime/org.eclipse.fx.ui.mobile/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.mobile/pom.xml
bundles/runtime/org.eclipse.fx.ui.panes/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.panes/pom.xml
bundles/runtime/org.eclipse.fx.ui.services/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.services/pom.xml
bundles/runtime/org.eclipse.fx.ui.theme/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.theme/pom.xml
bundles/runtime/org.eclipse.fx.ui.workbench.base/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.workbench.base/pom.xml
bundles/runtime/org.eclipse.fx.ui.workbench.fx/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.workbench.fx/pom.xml
bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/pom.xml
bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/pom.xml
bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java
bundles/runtime/org.eclipse.fx.ui.workbench.services/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.workbench.services/pom.xml
bundles/runtime/org.eclipse.fx.ui.workbench3/META-INF/MANIFEST.MF
bundles/runtime/org.eclipse.fx.ui.workbench3/pom.xml
releng/code/org.eclipse.fx.code.base.feature/feature.xml
releng/code/org.eclipse.fx.code.base.feature/pom.xml
releng/code/org.eclipse.fx.code.langs.feature/feature.xml
releng/code/org.eclipse.fx.code.langs.feature/pom.xml
releng/code/org.eclipse.fx.code.target.feature/feature.xml
releng/code/org.eclipse.fx.code.target.feature/pom.xml
releng/org.eclipse.fx.core.shared.updatesite/pom.xml
releng/org.eclipse.fx.core.shared.updatesite/site.xml
releng/org.eclipse.fx.releng/pom.xml
releng/org.eclipse.fx.runtime.doc/META-INF/MANIFEST.MF
releng/org.eclipse.fx.runtime.doc/pom.xml
releng/org.eclipse.fx.shared.doc/META-INF/MANIFEST.MF
releng/org.eclipse.fx.shared.doc/pom.xml
releng/org.eclipse.fx.shared.releng/pom.xml
releng/org.eclipse.fx.updatesite/pom.xml
releng/org.eclipse.fx.updatesite/site.xml
releng/runtime/org.eclipse.fx..slf4j.target.feature/feature.xml
releng/runtime/org.eclipse.fx..slf4j.target.feature/pom.xml
releng/runtime/org.eclipse.fx.core.feature/feature.xml
releng/runtime/org.eclipse.fx.core.feature/pom.xml
releng/runtime/org.eclipse.fx.core.shared.feature/feature.xml
releng/runtime/org.eclipse.fx.core.shared.feature/pom.xml
releng/runtime/org.eclipse.fx.runtime.e4fx.feature/feature.xml
releng/runtime/org.eclipse.fx.runtime.e4fx.feature/pom.xml
releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/feature.xml
releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/pom.xml
releng/runtime/org.eclipse.fx.runtime.feature/feature.xml
releng/runtime/org.eclipse.fx.runtime.feature/pom.xml
releng/runtime/org.eclipse.fx.runtime.min.feature/feature.xml
releng/runtime/org.eclipse.fx.runtime.min.feature/pom.xml
releng/runtime/org.eclipse.fx.target.feature/feature.xml
releng/runtime/org.eclipse.fx.target.feature/pom.xml
releng/runtime/org.eclipse.fx.target.rcp.feature/feature.xml
releng/runtime/org.eclipse.fx.target.rcp.feature/pom.xml
releng/runtime/org.eclipse.fx.target.rcp4.feature/feature.xml
releng/runtime/org.eclipse.fx.target.rcp4.feature/pom.xml
diff --git a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/META-INF/MANIFEST.MF
index d6e9c28..a2fb757 100644
--- a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: E4
Bundle-SymbolicName: org.eclipse.fx.code.editor.asciidoc.fx.e4
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="1.1.100",
org.eclipse.e4.ui.workbench;bundle-version="1.3.0",
@@ -11,12 +11,12 @@
org.eclipse.e4.ui.di;bundle-version="1.1.0",
org.eclipse.e4.core.di;bundle-version="1.5.0"
Import-Package: javax.inject,
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.asciidoc;version="2.6.0",
- org.eclipse.fx.code.editor.fx.e4;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.asciidoc;version="3.0.0",
+ org.eclipse.fx.code.editor.fx.e4;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.asciidoc.fx.e4.AsciiDoctorEditorOpenerTypeProvider.xml
Bundle-ActivationPolicy: lazy
diff --git a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/pom.xml b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/pom.xml
index f1cbc7e..026d196 100644
--- a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx.e4/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/META-INF/MANIFEST.MF
index 91562c4..7bea5cf 100644
--- a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fx
Bundle-SymbolicName: org.eclipse.fx.code.editor.asciidoc.fx
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.inject,
org.eclipse.e4.core.di.annotations,
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.asciidoc;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.event;version="2.6.0",
- org.eclipse.fx.core.preferences;version="2.6.0"
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.asciidoc;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.event;version="3.0.0",
+ org.eclipse.fx.core.preferences;version="3.0.0"
diff --git a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/pom.xml b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/pom.xml
index f884203..da5c429 100644
--- a/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.asciidoc.fx/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.asciidoc/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.asciidoc/META-INF/MANIFEST.MF
index d9dd286..7ee693e 100644
--- a/bundles/code/org.eclipse.fx.code.editor.asciidoc/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.asciidoc/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
Bundle-ManifestVersion: 2
Bundle-Name: Asciidoc
Bundle-SymbolicName: org.eclipse.fx.code.editor.asciidoc
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.fx.code.editor.asciidoc;version="2.6.0"
+Export-Package: org.eclipse.fx.code.editor.asciidoc;version="3.0.0"
diff --git a/bundles/code/org.eclipse.fx.code.editor.asciidoc/pom.xml b/bundles/code/org.eclipse.fx.code.editor.asciidoc/pom.xml
index 17f6ab2..53ce3f3 100644
--- a/bundles/code/org.eclipse.fx.code.editor.asciidoc/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.asciidoc/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/META-INF/MANIFEST.MF
index 9560a47..0287c0b 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/META-INF/MANIFEST.MF
@@ -2,16 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: E4
Bundle-SymbolicName: org.eclipse.fx.code.editor.configuration.text.e4
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.4.0"
-Import-Package: org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.configuration;version="2.6.0",
- org.eclipse.fx.code.editor.configuration.text;version="2.6.0",
- org.eclipse.fx.code.editor.e4;version="2.6.0",
- org.eclipse.fx.code.editor.fx.e4;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di.context;version="2.6.0",
+Import-Package: org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration.text;version="3.0.0",
+ org.eclipse.fx.code.editor.e4;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di.context;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.configuration.text.e4.ConfigurationModelCF.xml,
OSGI-INF/services/org.eclipse.fx.code.editor.configuration.text.e4.DynamicScannerRuleCalculatorCF.xml
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/pom.xml b/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/pom.xml
index ce89015..9f4367d 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text.e4/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/META-INF/MANIFEST.MF
index dfc0688..e9c82d3 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fx
Bundle-SymbolicName: org.eclipse.fx.code.editor.configuration.text.fx
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.inject;version="1.0.0",
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.configuration;version="2.6.0",
- org.eclipse.fx.code.editor.configuration.text;version="2.6.0",
- org.eclipse.fx.code.editor.fx.services;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.text.rules;version="2.6.0",
- org.eclipse.fx.text.ui;version="2.6.0",
- org.eclipse.fx.text.ui.presentation;version="2.6.0",
- org.eclipse.fx.text.ui.rules;version="2.6.0",
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration.text;version="3.0.0",
+ org.eclipse.fx.code.editor.fx.services;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.text.rules;version="3.0.0",
+ org.eclipse.fx.text.ui;version="3.0.0",
+ org.eclipse.fx.text.ui.presentation;version="3.0.0",
+ org.eclipse.fx.text.ui.rules;version="3.0.0",
org.eclipse.jface.text.rules,
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.configuration.text.fx.ConfigurationPresentationReconcilerTypeProvider.xml
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/pom.xml b/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/pom.xml
index eeddf29..8718690 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/src/org/eclipse/fx/code/editor/configuration/text/fx/internal/ConfigurationRuleScanner.java b/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/src/org/eclipse/fx/code/editor/configuration/text/fx/internal/ConfigurationRuleScanner.java
index 95ed072..13b362b 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/src/org/eclipse/fx/code/editor/configuration/text/fx/internal/ConfigurationRuleScanner.java
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text.fx/src/org/eclipse/fx/code/editor/configuration/text/fx/internal/ConfigurationRuleScanner.java
@@ -71,7 +71,7 @@
endSeq,
token,
sru.getEscapedBy() != null ? sru.getEscapedBy().charAt(0) : 0,
- endSeq == null || endSeq.isEmpty())));
+ true)));
} else if( ru instanceof TokenScanner_MultiLineRule ) {
TokenScanner_MultiLineRule sml = (TokenScanner_MultiLineRule) ru;
String endSeq = sml.getEndSeq();
@@ -80,7 +80,7 @@
endSeq,
token,
sml.getEscapedBy() != null ? sml.getEscapedBy().charAt(0) : 0,
- endSeq == null || endSeq.isEmpty())));
+ true)));
} else if( ru instanceof TokenScanner_CharacterRule ) {
TokenScanner_CharacterRule scr = (TokenScanner_CharacterRule) ru;
char[] c = new char[scr.getCharacterList().size()];
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.configuration.text/META-INF/MANIFEST.MF
index a06b836..d798c65 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
Bundle-ManifestVersion: 2
Bundle-Name: Text
Bundle-SymbolicName: org.eclipse.fx.code.editor.configuration.text
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.inject;version="1.0.0",
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.configuration;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.function;version="2.6.0",
- org.eclipse.fx.text.rules;version="2.6.0",
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.function;version="3.0.0",
+ org.eclipse.fx.text.rules;version="3.0.0",
org.eclipse.jface.text.rules,
org.osgi.service.component.annotations;version="1.2.0"
Require-Bundle: org.eclipse.text;bundle-version="3.5.400"
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.configuration.text.internal.ConfigurationDocumentPartitionerProvider.xml
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.fx.code.editor.configuration.text;version="2.6.0"
+Export-Package: org.eclipse.fx.code.editor.configuration.text;version="3.0.0"
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text/pom.xml b/bundles/code/org.eclipse.fx.code.editor.configuration.text/pom.xml
index 4e29c50..0e17e84 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration.text/src/org/eclipse/fx/code/editor/configuration/text/internal/ConfigurationRuleBasedPartitionScanner.java b/bundles/code/org.eclipse.fx.code.editor.configuration.text/src/org/eclipse/fx/code/editor/configuration/text/internal/ConfigurationRuleBasedPartitionScanner.java
index 00365e9..711788e 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration.text/src/org/eclipse/fx/code/editor/configuration/text/internal/ConfigurationRuleBasedPartitionScanner.java
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration.text/src/org/eclipse/fx/code/editor/configuration/text/internal/ConfigurationRuleBasedPartitionScanner.java
@@ -46,12 +46,12 @@
PartitionRule_SingleLine sr = (PartitionRule_SingleLine) r;
String endSeq = sr.getEndSeq();
String escapeSeq = sr.getEscapedBy();
- pr.add( (IPredicateRule) Util.wrap(r.getCheck(),new SingleLineRule(sr.getStartSeq(), endSeq, new Token(p.getName()), escapeSeq != null ? escapeSeq.charAt(0) : 0, endSeq == null || endSeq.isEmpty())));
+ pr.add( (IPredicateRule) Util.wrap(r.getCheck(),new SingleLineRule(sr.getStartSeq(), endSeq, new Token(p.getName()), escapeSeq != null ? escapeSeq.charAt(0) : 0, true)));
} else if( r instanceof PartitionRule_MultiLine ) {
PartitionRule_MultiLine mr = (PartitionRule_MultiLine) r;
String endSeq = mr.getEndSeq();
String escapeSeq = mr.getEscapedBy();
- pr.add( (IPredicateRule) Util.wrap(r.getCheck(), new MultiLineRule(mr.getStartSeq(), endSeq, new Token(p.getName()), escapeSeq != null ? escapeSeq.charAt(0) : 0, endSeq == null || endSeq.isEmpty())));
+ pr.add( (IPredicateRule) Util.wrap(r.getCheck(), new MultiLineRule(mr.getStartSeq(), endSeq, new Token(p.getName()), escapeSeq != null ? escapeSeq.charAt(0) : 0, true)));
} else if( r instanceof PartitionRule_JavaScript ) {
PartitionRule_JavaScript jr = (PartitionRule_JavaScript) r;
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.configuration/META-INF/MANIFEST.MF
index 07ac7d5..8872fa2 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
Bundle-ManifestVersion: 2
Bundle-Name: Configuration
Bundle-SymbolicName: org.eclipse.fx.code.editor.configuration
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ClassPath: .
-Export-Package: org.eclipse.fx.code.editor.configuration;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor.configuration;version="3.0.0";x-internal:=true
Require-Bundle: com.google.gson;bundle-version="2.2.4"
diff --git a/bundles/code/org.eclipse.fx.code.editor.configuration/pom.xml b/bundles/code/org.eclipse.fx.code.editor.configuration/pom.xml
index 3837c6d..4aff34c 100644
--- a/bundles/code/org.eclipse.fx.code.editor.configuration/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.configuration/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF
index b5259b3..833aad3 100644
--- a/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.e4/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: Basic service APIs for an Editor into Eclipse 4
Bundle-SymbolicName: org.eclipse.fx.code.editor.e4
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Vendor: Eclipse.org
-Export-Package: org.eclipse.fx.code.editor.e4;version="2.6.0";x-internal:=true,
- org.eclipse.fx.code.editor.e4.addons;version="2.6.0";x-internal:=true,
- org.eclipse.fx.code.editor.e4.handlers;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor.e4;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.e4.addons;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.e4.handlers;version="3.0.0";x-internal:=true
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.4.0",
org.eclipse.e4.core.di;bundle-version="1.5.0",
org.eclipse.text;bundle-version="3.5.400",
@@ -17,12 +17,12 @@
org.eclipse.e4.ui.di;bundle-version="1.1.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.inject;version="1.0.0",
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.di.context;version="2.6.0",
- org.eclipse.fx.core.event;version="2.6.0",
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.di.context;version="3.0.0",
+ org.eclipse.fx.core.event;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.DocumentPartitionerContextFunction.xml,
OSGI-INF/services/org.eclipse.fx.code.editor.e4.internal.AnnotationModelContextFunction.xml,
diff --git a/bundles/code/org.eclipse.fx.code.editor.e4/pom.xml b/bundles/code/org.eclipse.fx.code.editor.e4/pom.xml
index 360d580..f109db8 100644
--- a/bundles/code/org.eclipse.fx.code.editor.e4/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.e4/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.fx.e4/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.fx.e4/META-INF/MANIFEST.MF
index b7d24f0..c630777 100644
--- a/bundles/code/org.eclipse.fx.code.editor.fx.e4/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.fx.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Integration the JavaFX code editor into Eclipse 4
Bundle-SymbolicName: org.eclipse.fx.code.editor.fx.e4
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.4.0",
@@ -15,18 +15,18 @@
org.eclipse.fx.text.ui,
org.eclipse.fx.ui.workbench.renderers.base
Import-Package: javax.inject,
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.e4;version="2.6.0",
- org.eclipse.fx.code.editor.fx.services;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.di.context;version="2.6.0",
- org.eclipse.fx.text.ui.presentation;version="2.6.0",
- org.eclipse.fx.text.ui.source;version="2.6.0",
- org.eclipse.fx.ui.workbench.base.rendering;version="2.6.0",
- org.eclipse.fx.ui.workbench.services;version="2.6.0",
- org.eclipse.fx.ui.workbench.services.lifecycle;version="2.6.0",
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.e4;version="3.0.0",
+ org.eclipse.fx.code.editor.fx.services;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.di.context;version="3.0.0",
+ org.eclipse.fx.text.ui.presentation;version="3.0.0",
+ org.eclipse.fx.text.ui.source;version="3.0.0",
+ org.eclipse.fx.ui.workbench.base.rendering;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services.lifecycle;version="3.0.0",
org.osgi.service.component.annotations;resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.fx.e4.internal.SourceViewerConfigurationContextFunction.xml,
OSGI-INF/services/org.eclipse.fx.code.editor.fx.e4.internal.PresentationReconcilerContextFunction.xml,
@@ -42,4 +42,4 @@
OSGI-INF/services/org.eclipse.fx.code.editor.fx.e4.internal.ContextInformationValidatorTypeProviderCF.xml,
OSGI-INF/services/org.eclipse.fx.code.editor.fx.e4.internal.SnippetEditorPartTabContextMenuService.xml
Bundle-Vendor: Eclipse.org
-Export-Package: org.eclipse.fx.code.editor.fx.e4;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor.fx.e4;version="3.0.0";x-internal:=true
diff --git a/bundles/code/org.eclipse.fx.code.editor.fx.e4/pom.xml b/bundles/code/org.eclipse.fx.code.editor.fx.e4/pom.xml
index 3944ed3..74e1f8a 100644
--- a/bundles/code/org.eclipse.fx.code.editor.fx.e4/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.fx.e4/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.fx.themes/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.fx.themes/META-INF/MANIFEST.MF
index a54b1ff..aa8cba3 100644
--- a/bundles/code/org.eclipse.fx.code.editor.fx.themes/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.fx.themes/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: Basic editor Themes
Bundle-SymbolicName: org.eclipse.fx.code.editor.fx.themes
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.fx.ui.services.theme;version="2.6.0",
+Import-Package: org.eclipse.fx.ui.services.theme;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.fx.themes.internal.DefaultEditorStylesheet.xml
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.fx.code.editor.fx.themes;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor.fx.themes;version="3.0.0";x-internal:=true
Bundle-Vendor: Eclipse.org
diff --git a/bundles/code/org.eclipse.fx.code.editor.fx.themes/pom.xml b/bundles/code/org.eclipse.fx.code.editor.fx.themes/pom.xml
index a1a67dd..439550f 100644
--- a/bundles/code/org.eclipse.fx.code.editor.fx.themes/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.fx.themes/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.fx/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.fx/META-INF/MANIFEST.MF
index 433a057..0e51c8f 100644
--- a/bundles/code/org.eclipse.fx.code.editor.fx/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.fx/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
Bundle-ManifestVersion: 2
Bundle-Name: Basic editor APIs for JavaFX
Bundle-SymbolicName: org.eclipse.fx.code.editor.fx
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: com.google.common.collect;version="15.0.0",
javax.inject,
org.eclipse.e4.ui.di,
- org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.adapter;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.event;version="2.6.0",
- org.eclipse.fx.core.preferences;version="2.6.0",
- org.eclipse.fx.core.text;version="2.6.0",
+ org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.adapter;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.event;version="3.0.0",
+ org.eclipse.fx.core.preferences;version="3.0.0",
+ org.eclipse.fx.core.text;version="3.0.0",
org.eclipse.fx.text.hover,
org.eclipse.fx.text.navigation,
- org.eclipse.fx.text.rules;version="2.6.0",
- org.eclipse.fx.text.ui;version="2.6.0",
- org.eclipse.fx.text.ui.contentassist;version="2.6.0",
- org.eclipse.fx.text.ui.presentation;version="2.6.0",
- org.eclipse.fx.text.ui.rules;version="2.6.0",
- org.eclipse.fx.text.ui.source;version="2.6.0",
- org.eclipse.fx.ui.controls.filesystem;version="2.6.0",
- org.eclipse.fx.ui.controls.styledtext;version="2.6.0",
- org.eclipse.fx.ui.controls.tree;version="2.6.0",
+ org.eclipse.fx.text.rules;version="3.0.0",
+ org.eclipse.fx.text.ui;version="3.0.0",
+ org.eclipse.fx.text.ui.contentassist;version="3.0.0",
+ org.eclipse.fx.text.ui.presentation;version="3.0.0",
+ org.eclipse.fx.text.ui.rules;version="3.0.0",
+ org.eclipse.fx.text.ui.source;version="3.0.0",
+ org.eclipse.fx.ui.controls.filesystem;version="3.0.0",
+ org.eclipse.fx.ui.controls.styledtext;version="3.0.0",
+ org.eclipse.fx.ui.controls.tree;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Require-Bundle: org.eclipse.e4.core.di.annotations;bundle-version="1.4.0",
org.eclipse.text;bundle-version="3.5.400",
@@ -34,6 +34,6 @@
OSGI-INF/services/org.eclipse.fx.code.editor.fx.services.internal.NoHighlightPresentationReconcilerTypeProvider.xml,
OSGI-INF/services/org.eclipse.fx.code.editor.fx.services.internal.SystemEditorFontProvider.xml
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.fx.code.editor.fx;version="2.6.0";x-internal:=true,
- org.eclipse.fx.code.editor.fx.services;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor.fx;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.fx.services;version="3.0.0";x-internal:=true
Bundle-Vendor: Eclipse.org
diff --git a/bundles/code/org.eclipse.fx.code.editor.fx/pom.xml b/bundles/code/org.eclipse.fx.code.editor.fx/pom.xml
index 8c40487..0c06c05 100644
--- a/bundles/code/org.eclipse.fx.code.editor.fx/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.fx/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs.contrib/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.langs.contrib/META-INF/MANIFEST.MF
index 76a6c78..bff24d6 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs.contrib/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.langs.contrib/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: Contrib
Bundle-SymbolicName: org.eclipse.fx.code.editor.langs.contrib
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.fx.code.editor;version="2.6.0",
- org.eclipse.fx.code.editor.configuration;version="2.6.0",
- org.eclipse.fx.code.editor.configuration.text;version="2.6.0",
- org.eclipse.fx.code.editor.services;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
+Import-Package: org.eclipse.fx.code.editor;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration;version="3.0.0",
+ org.eclipse.fx.code.editor.configuration.text;version="3.0.0",
+ org.eclipse.fx.code.editor.services;version="3.0.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.langs.contrib.LangsConfigurationModelProvider.xml
Bundle-ActivationPolicy: lazy
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs.contrib/pom.xml b/bundles/code/org.eclipse.fx.code.editor.langs.contrib/pom.xml
index afc31a4..84bb341 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs.contrib/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.langs.contrib/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs.contrib/src/org/eclipse/fx/code/editor/langs/contrib/LangsConfigurationModelProvider.java b/bundles/code/org.eclipse.fx.code.editor.langs.contrib/src/org/eclipse/fx/code/editor/langs/contrib/LangsConfigurationModelProvider.java
index eafd250..7ce4456 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs.contrib/src/org/eclipse/fx/code/editor/langs/contrib/LangsConfigurationModelProvider.java
+++ b/bundles/code/org.eclipse.fx.code.editor.langs.contrib/src/org/eclipse/fx/code/editor/langs/contrib/LangsConfigurationModelProvider.java
@@ -76,6 +76,7 @@
prefix("ts","platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/ts.json").ifPresent(urlList::add);
prefix("xml","platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/xml.json").ifPresent(urlList::add);
prefix("html","platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/xml.json").ifPresent(urlList::add);
+ prefix("sh","platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/sh.json").ifPresent(urlList::add);
}
private static final Optional<Function<Input<?>, URL>> prefix(String prefix, String url) {
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs.themes/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.langs.themes/META-INF/MANIFEST.MF
index 0a0798e..8c0e6c2 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs.themes/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.langs.themes/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: Themes
Bundle-SymbolicName: org.eclipse.fx.code.editor.langs.themes
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.ui.services.theme;version="2.6.0",
+Import-Package: org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.ui.services.theme;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.langs.themes.DefaultEditorStylesheets.xml
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="2.0.100";resolution:=optional
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs.themes/pom.xml b/bundles/code/org.eclipse.fx.code.editor.langs.themes/pom.xml
index 45eb646..9b60b78 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs.themes/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.langs.themes/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs.themes/src/org/eclipse/fx/code/editor/langs/themes/DefaultEditorStylesheets.java b/bundles/code/org.eclipse.fx.code.editor.langs.themes/src/org/eclipse/fx/code/editor/langs/themes/DefaultEditorStylesheets.java
index 794b9fb..f26e772 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs.themes/src/org/eclipse/fx/code/editor/langs/themes/DefaultEditorStylesheets.java
+++ b/bundles/code/org.eclipse.fx.code.editor.langs.themes/src/org/eclipse/fx/code/editor/langs/themes/DefaultEditorStylesheets.java
@@ -34,6 +34,7 @@
Util.createUrl("platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/swift.css", true).ifPresent(stylesheets::add);
Util.createUrl("platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/ts.css", true).ifPresent(stylesheets::add);
Util.createUrl("platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/xml.css", true).ifPresent(stylesheets::add);
+ Util.createUrl("platform:/plugin/org.eclipse.fx.code.editor.langs/org/eclipse/fx/code/editor/ldef/langs/sh.css", true).ifPresent(stylesheets::add);
this.stylesheets = stylesheets;
}
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.langs/META-INF/MANIFEST.MF
index 3c452e6..c81640d 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.langs/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Various basic language definitions
Bundle-SymbolicName: org.eclipse.fx.code.editor.langs
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.osgi.service.component.annotations;version="[1.2.0,2.0.0)";resolution:=optional
Bundle-ActivationPolicy: lazy
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs/pom.xml b/bundles/code/org.eclipse.fx.code.editor.langs/pom.xml
index 46fc142..2bebc27 100644
--- a/bundles/code/org.eclipse.fx.code.editor.langs/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.langs/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh-swt-style.json b/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh-swt-style.json
new file mode 100644
index 0000000..2bb7a91
--- /dev/null
+++ b/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh-swt-style.json
@@ -0,0 +1,34 @@
+{
+ "$gtype": "StylesheetDefinition",
+ "colorList": [],
+ "elementList": [
+ {
+ "$gtype": "StyleDefinition",
+ "bold": false,
+ "italic": false,
+ "name": "sh.sh_default",
+ "textRefColor": "-source-editor-code"
+ },
+ {
+ "$gtype": "StyleDefinition",
+ "bold": true,
+ "italic": false,
+ "name": "sh.sh_common_executables",
+ "textRefColor": "-source-editor-code"
+ },
+ {
+ "$gtype": "StyleDefinition",
+ "bold": false,
+ "italic": false,
+ "name": "sh.sh_doc_default",
+ "textRefColor": "-source-editor-doc"
+ },
+ {
+ "$gtype": "StyleDefinition",
+ "bold": false,
+ "italic": false,
+ "name": "sh.sh_string",
+ "textRefColor": "-source-editor-string"
+ }
+ ]
+}
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh.css b/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh.css
new file mode 100644
index 0000000..297815d
--- /dev/null
+++ b/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh.css
@@ -0,0 +1,17 @@
+.styled-text-area .sh.sh_default {
+ -styled-text-color: -source-editor-code;
+}
+
+.styled-text-area .sh.sh_common_executables {
+ -styled-text-color: -source-editor-code;
+ -fx-font-weight: bold;
+}
+
+.styled-text-area .sh.sh_doc_default {
+ -styled-text-color: -source-editor-doc;
+}
+
+.styled-text-area .sh.sh_string {
+ -styled-text-color: -source-editor-string;
+}
+
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh.json b/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh.json
new file mode 100644
index 0000000..09c8a45
--- /dev/null
+++ b/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/sh.json
@@ -0,0 +1,100 @@
+{
+ "$gtype": "LanguageDef",
+ "fileSuffix": "sh",
+ "partitionList": [
+ {
+ "$gtype": "Partition",
+ "name": "__dftl_partition_content_type",
+ "ruleList": [],
+ "tokenList": [
+ {
+ "$gtype": "Token",
+ "defaultToken": true,
+ "name": "sh_default",
+ "tokenScannerList": []
+ },
+ {
+ "$gtype": "Token",
+ "defaultToken": false,
+ "name": "sh_number",
+ "tokenScannerList": [
+ {
+ "$gtype": "TokenScanner_PatternRule",
+ "containmentPattern": "[\\d|\\.]",
+ "startLength": 0,
+ "startPattern": "\\d"
+ }
+ ]
+ },
+ {
+ "$gtype": "Token",
+ "defaultToken": false,
+ "name": "sh_common_executables",
+ "tokenScannerList": [
+ {
+ "$gtype": "TokenScanner_Keyword",
+ "keywordList": [
+ "rm",
+ "cd",
+ "rmdir",
+ "java",
+ "javac",
+ "echo",
+ "jlink"
+ ]
+ }
+ ]
+ }
+ ],
+ "whitespace": {
+ "$gtype": "PartitionWhiteSpace",
+ "characterList": [],
+ "javawhiteSpace": true
+ }
+ },
+ {
+ "$gtype": "Partition",
+ "name": "__sh_single_line_comment",
+ "ruleList": [
+ {
+ "$gtype": "PartitionRule_SingleLine",
+ "startSeq": "#"
+ }
+ ],
+ "tokenList": [
+ {
+ "$gtype": "Token",
+ "defaultToken": true,
+ "name": "sh_doc_default",
+ "tokenScannerList": []
+ }
+ ]
+ },
+ {
+ "$gtype": "Partition",
+ "name": "__sh_string",
+ "ruleList": [
+ {
+ "$gtype": "PartitionRule_SingleLine",
+ "endSeq": "\u0027",
+ "escapedBy": "\\",
+ "startSeq": "\u0027"
+ },
+ {
+ "$gtype": "PartitionRule_SingleLine",
+ "endSeq": "\"",
+ "escapedBy": "\\",
+ "startSeq": "\""
+ }
+ ],
+ "tokenList": [
+ {
+ "$gtype": "Token",
+ "defaultToken": true,
+ "name": "sh_string",
+ "tokenScannerList": []
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/bundles/code/org.eclipse.fx.code.editor.langs/src/org/eclipse/fx/code/editor/ldef/langs/bash.ldef b/bundles/code/org.eclipse.fx.code.editor.langs/src/org/eclipse/fx/code/editor/ldef/langs/bash.ldef
new file mode 100644
index 0000000..23acdb4
--- /dev/null
+++ b/bundles/code/org.eclipse.fx.code.editor.langs/src/org/eclipse/fx/code/editor/ldef/langs/bash.ldef
@@ -0,0 +1,44 @@
+package org.eclipse.fx.code.editor.ldef.langs
+
+sh {
+ partitioning {
+ partition __dftl_partition_content_type
+ partition __sh_single_line_comment
+ partition __sh_string
+ rule {
+ single_line __sh_single_line_comment "#"
+ single_line __sh_string "'" => "'" escaped by "\\"
+ single_line __sh_string '"' => '"' escaped by "\\"
+ }
+ }
+ lexical_highlighting {
+ rule __dftl_partition_content_type whitespace javawhitespace {
+ default sh_default
+ sh_number {
+ pattern "\\d" containing "[\\d|\\.]"
+ }
+ sh_common_executables {
+ keywords [ "rm", "cd", "rmdir", "java", "javac", "echo", "jlink" ]
+ }
+ }
+ rule __sh_single_line_comment {
+ default sh_doc_default
+ }
+ rule __sh_string {
+ default sh_string
+ }
+ token_def {
+ sh_default "-source-editor-code";
+ sh_common_executables "-source-editor-code" bold;
+ sh_doc_default "-source-editor-doc";
+ sh_string "-source-editor-string";
+ }
+ }
+// integration {
+// javafx {
+// java "org.eclipse.fx.code.editor.langs.codegen.fx.js" {
+// project : "org.eclipse.fx.code.editor.langs.codegen.fx"
+// }
+// }
+// }
+}
\ No newline at end of file
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef.ui/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.ldef.ui/META-INF/MANIFEST.MF
index 3793107..0100e1b 100644
--- a/bundles/code/org.eclipse.fx.code.editor.ldef.ui/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Language DSL Eclipse Editor
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.code.editor.ldef.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.code.editor.ldef;bundle-version="2.3.0";visibility:=reexport,
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef.ui/pom.xml b/bundles/code/org.eclipse.fx.code.editor.ldef.ui/pom.xml
index faa4b52..130ad96 100755
--- a/bundles/code/org.eclipse.fx.code.editor.ldef.ui/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor.ldef/META-INF/MANIFEST.MF
index dc3ebc2..ad35575 100644
--- a/bundles/code/org.eclipse.fx.code.editor.ldef/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Language Editor DSL
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.code.editor.ldef; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;visibility:=reexport,
@@ -17,16 +17,16 @@
org.eclipse.fx.code.editor.configuration;bundle-version="2.3.0"
Import-Package: org.apache.log4j
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.fx.code.editor.ldef;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.formatting;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.generator;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.lDef;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.lDef.impl;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.lDef.util;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.parser.antlr;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.parser.antlr.internal;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.scoping;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.serializer;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.services;version="2.4.0";x-internal:=true,
- org.eclipse.fx.code.editor.ldef.validation;version="2.4.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor.ldef;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.formatting;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.generator;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.lDef;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.lDef.impl;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.lDef.util;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.parser.antlr;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.parser.antlr.internal;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.scoping;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.serializer;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.services;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.ldef.validation;version="3.0.0";x-internal:=true
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef/pom.xml b/bundles/code/org.eclipse.fx.code.editor.ldef/pom.xml
index c56aa0f..fffb7f8 100644
--- a/bundles/code/org.eclipse.fx.code.editor.ldef/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/.JSONConfigurationConfigurator.xtendbin b/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/.JSONConfigurationConfigurator.xtendbin
index 6435633..4fac9b3 100644
--- a/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/.JSONConfigurationConfigurator.xtendbin
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/.JSONConfigurationConfigurator.xtendbin
Binary files differ
diff --git a/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.java b/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.java
index 3784473..55b30fb 100644
--- a/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.java
+++ b/bundles/code/org.eclipse.fx.code.editor.ldef/xtend-gen/org/eclipse/fx/code/editor/ldef/generator/JSONConfigurationConfigurator.java
@@ -4,60 +4,29 @@
import com.google.common.collect.Iterables;
import java.util.Collections;
import java.util.List;
-import java.util.function.Consumer;
import java.util.function.Function;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.fx.code.editor.configuration.CompositeCondition;
+import org.eclipse.fx.code.editor.configuration.Check;
import org.eclipse.fx.code.editor.configuration.Condition;
import org.eclipse.fx.code.editor.configuration.EditorGModel;
-import org.eclipse.fx.code.editor.configuration.EqualsCondition;
-import org.eclipse.fx.code.editor.configuration.ExistsCondition;
import org.eclipse.fx.code.editor.configuration.Partition;
import org.eclipse.fx.code.editor.configuration.PartitionRule;
-import org.eclipse.fx.code.editor.configuration.PartitionRule_DynamicEnd;
-import org.eclipse.fx.code.editor.configuration.PartitionRule_MultiLine;
-import org.eclipse.fx.code.editor.configuration.PartitionRule_SingleLine;
import org.eclipse.fx.code.editor.configuration.PartitionWhiteSpace;
import org.eclipse.fx.code.editor.configuration.Token;
import org.eclipse.fx.code.editor.configuration.TokenScanner;
-import org.eclipse.fx.code.editor.configuration.TokenScanner_CharacterRule;
-import org.eclipse.fx.code.editor.configuration.TokenScanner_DynamicEnd;
-import org.eclipse.fx.code.editor.configuration.TokenScanner_Keyword;
-import org.eclipse.fx.code.editor.configuration.TokenScanner_MultiLineRule;
-import org.eclipse.fx.code.editor.configuration.TokenScanner_PatternRule;
-import org.eclipse.fx.code.editor.configuration.TokenScanner_SingleLineRule;
import org.eclipse.fx.code.editor.ldef.LDefStandaloneSetup;
-import org.eclipse.fx.code.editor.ldef.lDef.Check;
import org.eclipse.fx.code.editor.ldef.lDef.Equals;
-import org.eclipse.fx.code.editor.ldef.lDef.Keyword;
import org.eclipse.fx.code.editor.ldef.lDef.LanguageDef;
import org.eclipse.fx.code.editor.ldef.lDef.LexicalHighlighting;
import org.eclipse.fx.code.editor.ldef.lDef.LexicalPartitionHighlighting;
import org.eclipse.fx.code.editor.ldef.lDef.LexicalPartitionHighlighting_Rule;
import org.eclipse.fx.code.editor.ldef.lDef.Paritioning;
-import org.eclipse.fx.code.editor.ldef.lDef.Partition_JSRule;
-import org.eclipse.fx.code.editor.ldef.lDef.Partition_MultiLineRule;
-import org.eclipse.fx.code.editor.ldef.lDef.Partition_Rule;
-import org.eclipse.fx.code.editor.ldef.lDef.Partition_SingleLineRule;
-import org.eclipse.fx.code.editor.ldef.lDef.Partitioner;
-import org.eclipse.fx.code.editor.ldef.lDef.Partitioner_Rule;
import org.eclipse.fx.code.editor.ldef.lDef.Range;
import org.eclipse.fx.code.editor.ldef.lDef.Root;
-import org.eclipse.fx.code.editor.ldef.lDef.Scanner;
-import org.eclipse.fx.code.editor.ldef.lDef.ScannerCondition;
-import org.eclipse.fx.code.editor.ldef.lDef.ScannerConditionComposite;
-import org.eclipse.fx.code.editor.ldef.lDef.ScannerConditionEquals;
-import org.eclipse.fx.code.editor.ldef.lDef.ScannerConditionExists;
-import org.eclipse.fx.code.editor.ldef.lDef.ScannerConditionJs;
-import org.eclipse.fx.code.editor.ldef.lDef.Scanner_CharacterRule;
-import org.eclipse.fx.code.editor.ldef.lDef.Scanner_Keyword;
-import org.eclipse.fx.code.editor.ldef.lDef.Scanner_MultiLineRule;
-import org.eclipse.fx.code.editor.ldef.lDef.Scanner_PatternRule;
-import org.eclipse.fx.code.editor.ldef.lDef.Scanner_SingleLineRule;
import org.eclipse.fx.code.editor.ldef.lDef.WhitespaceRule;
import org.eclipse.xtext.generator.IFileSystemAccess;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
@@ -145,84 +114,9 @@
}
public List<PartitionRule> ruleList(final EditorGModel m, final LanguageDef model, final org.eclipse.fx.code.editor.ldef.lDef.Partition pr) {
- Paritioning _paritioning = model.getParitioning();
- Partitioner _partitioner = _paritioning.getPartitioner();
- final Partitioner_Rule tmp = ((Partitioner_Rule) _partitioner);
- EList<Partition_Rule> _ruleList = tmp.getRuleList();
- final Function1<Partition_Rule, Boolean> _function = (Partition_Rule prl) -> {
- org.eclipse.fx.code.editor.ldef.lDef.Partition _parition = prl.getParition();
- return Boolean.valueOf(Objects.equal(_parition, pr));
- };
- Iterable<Partition_Rule> _filter = IterableExtensions.<Partition_Rule>filter(_ruleList, _function);
- final Function1<Partition_Rule, PartitionRule> _function_1 = (Partition_Rule prl) -> {
- Object _xifexpression = null;
- if ((prl instanceof Partition_SingleLineRule)) {
- String _startPattern = ((Partition_SingleLineRule)prl).getStartPattern();
- boolean _notEquals = (!Objects.equal(_startPattern, null));
- if (_notEquals) {
- PartitionRule_DynamicEnd.Builder _PartitionRule_DynamicEndBuilder = m.PartitionRule_DynamicEndBuilder();
- String _startSeq = ((Partition_SingleLineRule)prl).getStartSeq();
- PartitionRule_DynamicEnd.Builder _beginPrefix = _PartitionRule_DynamicEndBuilder.beginPrefix(_startSeq);
- String _startPattern_1 = ((Partition_SingleLineRule)prl).getStartPattern();
- PartitionRule_DynamicEnd.Builder _beginMatch = _beginPrefix.beginMatch(_startPattern_1);
- String _startSuffix = ((Partition_SingleLineRule)prl).getStartSuffix();
- PartitionRule_DynamicEnd.Builder _beginSuffix = _beginMatch.beginSuffix(_startSuffix);
- String _endSeq = ((Partition_SingleLineRule)prl).getEndSeq();
- PartitionRule_DynamicEnd.Builder _endTemplate = _beginSuffix.endTemplate(_endSeq);
- PartitionRule_DynamicEnd.Builder _singleLine = _endTemplate.singleLine(true);
- return _singleLine.build();
- } else {
- PartitionRule_SingleLine.Builder _PartitionRule_SingleLineBuilder = m.PartitionRule_SingleLineBuilder();
- String _startSeq_1 = ((Partition_SingleLineRule)prl).getStartSeq();
- PartitionRule_SingleLine.Builder _startSeq_2 = _PartitionRule_SingleLineBuilder.startSeq(_startSeq_1);
- String _endSeq_1 = ((Partition_SingleLineRule)prl).getEndSeq();
- PartitionRule_SingleLine.Builder _endSeq_2 = _startSeq_2.endSeq(_endSeq_1);
- String _escapeSeq = ((Partition_SingleLineRule)prl).getEscapeSeq();
- PartitionRule_SingleLine.Builder _escapedBy = _endSeq_2.escapedBy(_escapeSeq);
- return _escapedBy.build();
- }
- } else {
- Object _xifexpression_1 = null;
- if ((prl instanceof Partition_MultiLineRule)) {
- String _startPattern_2 = ((Partition_MultiLineRule)prl).getStartPattern();
- boolean _notEquals_1 = (!Objects.equal(_startPattern_2, null));
- if (_notEquals_1) {
- PartitionRule_DynamicEnd.Builder _PartitionRule_DynamicEndBuilder_1 = m.PartitionRule_DynamicEndBuilder();
- String _startSeq_3 = ((Partition_MultiLineRule)prl).getStartSeq();
- PartitionRule_DynamicEnd.Builder _beginPrefix_1 = _PartitionRule_DynamicEndBuilder_1.beginPrefix(_startSeq_3);
- String _startPattern_3 = ((Partition_MultiLineRule)prl).getStartPattern();
- PartitionRule_DynamicEnd.Builder _beginMatch_1 = _beginPrefix_1.beginMatch(_startPattern_3);
- String _startSuffix_1 = ((Partition_MultiLineRule)prl).getStartSuffix();
- PartitionRule_DynamicEnd.Builder _beginSuffix_1 = _beginMatch_1.beginSuffix(_startSuffix_1);
- String _endSeq_3 = ((Partition_MultiLineRule)prl).getEndSeq();
- PartitionRule_DynamicEnd.Builder _endTemplate_1 = _beginSuffix_1.endTemplate(_endSeq_3);
- PartitionRule_DynamicEnd.Builder _singleLine_1 = _endTemplate_1.singleLine(false);
- return _singleLine_1.build();
- } else {
- PartitionRule_MultiLine.Builder _PartitionRule_MultiLineBuilder = m.PartitionRule_MultiLineBuilder();
- String _startSeq_4 = ((Partition_MultiLineRule)prl).getStartSeq();
- PartitionRule_MultiLine.Builder _startSeq_5 = _PartitionRule_MultiLineBuilder.startSeq(_startSeq_4);
- String _endSeq_4 = ((Partition_MultiLineRule)prl).getEndSeq();
- PartitionRule_MultiLine.Builder _endSeq_5 = _startSeq_5.endSeq(_endSeq_4);
- String _escapeSeq_1 = ((Partition_MultiLineRule)prl).getEscapeSeq();
- PartitionRule_MultiLine.Builder _escapedBy_1 = _endSeq_5.escapedBy(_escapeSeq_1);
- return _escapedBy_1.build();
- }
- } else {
- Object _xifexpression_2 = null;
- if ((prl instanceof Partition_JSRule)) {
- _xifexpression_2 = null;
- } else {
- throw new IllegalStateException((("Unknown rule \'" + prl) + "\'"));
- }
- _xifexpression_1 = _xifexpression_2;
- }
- _xifexpression = _xifexpression_1;
- }
- return ((PartitionRule)_xifexpression);
- };
- Iterable<PartitionRule> _map = IterableExtensions.<Partition_Rule, PartitionRule>map(_filter, _function_1);
- return IterableExtensions.<PartitionRule>toList(_map);
+ throw new Error("Unresolved compilation problems:"
+ + "\nPartition_JSRule cannot be resolved to a type."
+ + "\nUnreachable code: The if condition can never match. It is already handled by a previous condition.");
}
public List<Token> tokenList(final EditorGModel m, final LanguageDef model, final org.eclipse.fx.code.editor.ldef.lDef.Partition pr) {
@@ -261,175 +155,44 @@
}
public List<TokenScanner> tokenScannerList(final EditorGModel m, final org.eclipse.fx.code.editor.ldef.lDef.Token t) {
- EList<Scanner> _scannerList = t.getScannerList();
- final Function1<Scanner, TokenScanner> _function = (Scanner ts) -> {
- if ((ts instanceof Scanner_Keyword)) {
- final Scanner_Keyword sk = ((Scanner_Keyword) ts);
- TokenScanner_Keyword.Builder _TokenScanner_KeywordBuilder = m.TokenScanner_KeywordBuilder();
- ScannerCondition _enabledIf = ((Scanner_Keyword)ts).getEnabledIf();
- Condition _createCondition = this.createCondition(m, _enabledIf);
- TokenScanner_Keyword.Builder _condition = _TokenScanner_KeywordBuilder.condition(_createCondition);
- EList<Keyword> _keywords = sk.getKeywords();
- final Function1<Keyword, String> _function_1 = (Keyword k) -> {
- return k.getName();
- };
- List<String> _map = ListExtensions.<Keyword, String>map(_keywords, _function_1);
- List<String> _list = IterableExtensions.<String>toList(_map);
- TokenScanner_Keyword.Builder _keywordList = _condition.keywordList(_list);
- return _keywordList.build();
- } else {
- if ((ts instanceof Scanner_SingleLineRule)) {
- String _startPattern = ((Scanner_SingleLineRule)ts).getStartPattern();
- boolean _notEquals = (!Objects.equal(_startPattern, null));
- if (_notEquals) {
- TokenScanner_DynamicEnd.Builder _TokenScanner_DynamicEndBuilder = m.TokenScanner_DynamicEndBuilder();
- String _startSeq = ((Scanner_SingleLineRule)ts).getStartSeq();
- TokenScanner_DynamicEnd.Builder _beginPrefix = _TokenScanner_DynamicEndBuilder.beginPrefix(_startSeq);
- String _startPattern_1 = ((Scanner_SingleLineRule)ts).getStartPattern();
- TokenScanner_DynamicEnd.Builder _beginMatch = _beginPrefix.beginMatch(_startPattern_1);
- String _endSeq = ((Scanner_SingleLineRule)ts).getEndSeq();
- TokenScanner_DynamicEnd.Builder _endTemplate = _beginMatch.endTemplate(_endSeq);
- TokenScanner_DynamicEnd.Builder _singleLine = _endTemplate.singleLine(true);
- return _singleLine.build();
- } else {
- final Scanner_SingleLineRule sr = ((Scanner_SingleLineRule) ts);
- TokenScanner_SingleLineRule.Builder _TokenScanner_SingleLineRuleBuilder = m.TokenScanner_SingleLineRuleBuilder();
- Check _check = sr.getCheck();
- org.eclipse.fx.code.editor.configuration.Check _createCheck = this.createCheck(m, _check);
- TokenScanner_SingleLineRule.Builder _check_1 = _TokenScanner_SingleLineRuleBuilder.check(_createCheck);
- ScannerCondition _enabledIf_1 = ((Scanner_SingleLineRule)ts).getEnabledIf();
- Condition _createCondition_1 = this.createCondition(m, _enabledIf_1);
- TokenScanner_SingleLineRule.Builder _condition_1 = _check_1.condition(_createCondition_1);
- String _startSeq_1 = sr.getStartSeq();
- TokenScanner_SingleLineRule.Builder _startSeq_2 = _condition_1.startSeq(_startSeq_1);
- String _endSeq_1 = sr.getEndSeq();
- TokenScanner_SingleLineRule.Builder _endSeq_2 = _startSeq_2.endSeq(_endSeq_1);
- String _escapeSeq = sr.getEscapeSeq();
- TokenScanner_SingleLineRule.Builder _escapedBy = _endSeq_2.escapedBy(_escapeSeq);
- return _escapedBy.build();
- }
- } else {
- if ((ts instanceof Scanner_MultiLineRule)) {
- String _startPattern_2 = ((Scanner_MultiLineRule)ts).getStartPattern();
- boolean _notEquals_1 = (!Objects.equal(_startPattern_2, null));
- if (_notEquals_1) {
- TokenScanner_DynamicEnd.Builder _TokenScanner_DynamicEndBuilder_1 = m.TokenScanner_DynamicEndBuilder();
- String _startSeq_3 = ((Scanner_MultiLineRule)ts).getStartSeq();
- TokenScanner_DynamicEnd.Builder _beginPrefix_1 = _TokenScanner_DynamicEndBuilder_1.beginPrefix(_startSeq_3);
- String _startPattern_3 = ((Scanner_MultiLineRule)ts).getStartPattern();
- TokenScanner_DynamicEnd.Builder _beginMatch_1 = _beginPrefix_1.beginMatch(_startPattern_3);
- String _endSeq_3 = ((Scanner_MultiLineRule)ts).getEndSeq();
- TokenScanner_DynamicEnd.Builder _endTemplate_1 = _beginMatch_1.endTemplate(_endSeq_3);
- return _endTemplate_1.build();
- } else {
- final Scanner_MultiLineRule mr = ((Scanner_MultiLineRule) ts);
- TokenScanner_MultiLineRule.Builder _TokenScanner_MultiLineRuleBuilder = m.TokenScanner_MultiLineRuleBuilder();
- Check _check_2 = mr.getCheck();
- org.eclipse.fx.code.editor.configuration.Check _createCheck_1 = this.createCheck(m, _check_2);
- TokenScanner_MultiLineRule.Builder _check_3 = _TokenScanner_MultiLineRuleBuilder.check(_createCheck_1);
- ScannerCondition _enabledIf_2 = ((Scanner_MultiLineRule)ts).getEnabledIf();
- Condition _createCondition_2 = this.createCondition(m, _enabledIf_2);
- TokenScanner_MultiLineRule.Builder _condition_2 = _check_3.condition(_createCondition_2);
- String _startSeq_4 = mr.getStartSeq();
- TokenScanner_MultiLineRule.Builder _startSeq_5 = _condition_2.startSeq(_startSeq_4);
- String _endSeq_4 = mr.getEndSeq();
- TokenScanner_MultiLineRule.Builder _endSeq_5 = _startSeq_5.endSeq(_endSeq_4);
- String _escapeSeq_1 = mr.getEscapeSeq();
- TokenScanner_MultiLineRule.Builder _escapedBy_1 = _endSeq_5.escapedBy(_escapeSeq_1);
- return _escapedBy_1.build();
- }
- } else {
- if ((ts instanceof Scanner_CharacterRule)) {
- final Scanner_CharacterRule sc = ((Scanner_CharacterRule) ts);
- TokenScanner_CharacterRule.Builder _TokenScanner_CharacterRuleBuilder = m.TokenScanner_CharacterRuleBuilder();
- ScannerCondition _enabledIf_3 = ((Scanner_CharacterRule)ts).getEnabledIf();
- Condition _createCondition_3 = this.createCondition(m, _enabledIf_3);
- TokenScanner_CharacterRule.Builder _condition_3 = _TokenScanner_CharacterRuleBuilder.condition(_createCondition_3);
- Check _check_4 = sc.getCheck();
- org.eclipse.fx.code.editor.configuration.Check _createCheck_2 = this.createCheck(m, _check_4);
- TokenScanner_CharacterRule.Builder _check_5 = _condition_3.check(_createCheck_2);
- EList<String> _characters = sc.getCharacters();
- TokenScanner_CharacterRule.Builder _characterList = _check_5.characterList(_characters);
- return _characterList.build();
- } else {
- if ((ts instanceof Scanner_PatternRule)) {
- final Scanner_PatternRule sp = ((Scanner_PatternRule) ts);
- TokenScanner_PatternRule.Builder _TokenScanner_PatternRuleBuilder = m.TokenScanner_PatternRuleBuilder();
- Check _check_6 = sp.getCheck();
- org.eclipse.fx.code.editor.configuration.Check _createCheck_3 = this.createCheck(m, _check_6);
- TokenScanner_PatternRule.Builder _check_7 = _TokenScanner_PatternRuleBuilder.check(_createCheck_3);
- ScannerCondition _enabledIf_4 = ((Scanner_PatternRule)ts).getEnabledIf();
- Condition _createCondition_4 = this.createCondition(m, _enabledIf_4);
- TokenScanner_PatternRule.Builder _condition_4 = _check_7.condition(_createCondition_4);
- int _length = sp.getLength();
- TokenScanner_PatternRule.Builder _startLength = _condition_4.startLength(_length);
- String _startPattern_4 = sp.getStartPattern();
- TokenScanner_PatternRule.Builder _startPattern_5 = _startLength.startPattern(_startPattern_4);
- String _contentPattern = sp.getContentPattern();
- TokenScanner_PatternRule.Builder _containmentPattern = _startPattern_5.containmentPattern(_contentPattern);
- return _containmentPattern.build();
- }
- }
- }
- }
- }
- return null;
- };
- return ListExtensions.<Scanner, TokenScanner>map(_scannerList, _function);
+ throw new Error("Unresolved compilation problems:"
+ + "\nThe method or field enabledIf is undefined for the type Scanner_Keyword"
+ + "\nThe method or field enabledIf is undefined for the type Scanner_SingleLineRule"
+ + "\nThe method or field enabledIf is undefined for the type Scanner_MultiLineRule"
+ + "\nThe method or field enabledIf is undefined for the type Scanner_CharacterRule"
+ + "\nThe method or field enabledIf is undefined for the type Scanner_PatternRule"
+ + "\nThe method createCondition(EditorGModel, ScannerCondition) from the type JSONConfigurationConfigurator refers to the missing type ScannerCondition"
+ + "\nThe method createCondition(EditorGModel, ScannerCondition) from the type JSONConfigurationConfigurator refers to the missing type ScannerCondition"
+ + "\nThe method createCondition(EditorGModel, ScannerCondition) from the type JSONConfigurationConfigurator refers to the missing type ScannerCondition"
+ + "\nThe method createCondition(EditorGModel, ScannerCondition) from the type JSONConfigurationConfigurator refers to the missing type ScannerCondition"
+ + "\nThe method createCondition(EditorGModel, ScannerCondition) from the type JSONConfigurationConfigurator refers to the missing type ScannerCondition");
}
- public Condition createCondition(final EditorGModel m, final ScannerCondition c) {
- EqualsCondition _xblockexpression = null;
- {
- boolean _equals = Objects.equal(c, null);
- if (_equals) {
- return null;
- }
- EqualsCondition _xifexpression = null;
- if ((c instanceof ScannerConditionExists)) {
- ExistsCondition.Builder _ExistsConditionBuilder = m.ExistsConditionBuilder();
- String _key = ((ScannerConditionExists)c).getKey();
- ExistsCondition.Builder _name = _ExistsConditionBuilder.name(_key);
- return _name.build();
- } else {
- EqualsCondition _xifexpression_1 = null;
- if ((c instanceof ScannerConditionEquals)) {
- EqualsCondition.Builder _EqualsConditionBuilder = m.EqualsConditionBuilder();
- String _key_1 = ((ScannerConditionEquals)c).getKey();
- EqualsCondition.Builder _name_1 = _EqualsConditionBuilder.name(_key_1);
- String _value = ((ScannerConditionEquals)c).getValue();
- EqualsCondition.Builder _value_1 = _name_1.value(_value);
- _xifexpression_1 = _value_1.build();
- } else {
- if ((c instanceof ScannerConditionJs)) {
- return null;
- } else {
- if ((c instanceof ScannerConditionComposite)) {
- CompositeCondition.Builder _CompositeConditionBuilder = m.CompositeConditionBuilder();
- String _op = ((ScannerConditionComposite)c).getOp();
- boolean _equals_1 = Objects.equal(_op, "and");
- final CompositeCondition.Builder b = _CompositeConditionBuilder.and(_equals_1);
- EList<ScannerCondition> _elements = ((ScannerConditionComposite)c).getElements();
- final Function1<ScannerCondition, Condition> _function = (ScannerCondition e) -> {
- return this.createCondition(m, e);
- };
- List<Condition> _map = ListExtensions.<ScannerCondition, Condition>map(_elements, _function);
- final Consumer<Condition> _function_1 = (Condition c1) -> {
- b.appendElementList(c1);
- };
- _map.forEach(_function_1);
- return b.build();
- }
- }
- }
- _xifexpression = _xifexpression_1;
- }
- _xblockexpression = _xifexpression;
- }
- return _xblockexpression;
+ public Condition createCondition(final EditorGModel m, final /* ScannerCondition */Object c) {
+ throw new Error("Unresolved compilation problems:"
+ + "\nScannerConditionExists cannot be resolved to a type."
+ + "\nScannerConditionEquals cannot be resolved to a type."
+ + "\nScannerConditionJs cannot be resolved to a type."
+ + "\nScannerConditionComposite cannot be resolved to a type."
+ + "\nAmbiguous feature call.\nThe methods\n\tappendElementList(Condition) in Builder and\n\tappendElementList(Function<Builder, Condition>) in Builder\nboth match."
+ + "\nUnreachable code: The if condition can never match. It is already handled by a previous condition."
+ + "\nUnreachable code: The if condition can never match. It is already handled by a previous condition."
+ + "\nUnreachable code: The if condition can never match. It is already handled by a previous condition."
+ + "\nThere is no context to infer the closure\'s argument types from. Consider typing the arguments or put the closures into a typed context."
+ + "\nThe method createCondition(EditorGModel, ScannerCondition) from the type JSONConfigurationConfigurator refers to the missing type ScannerCondition"
+ + "\nThere is no context to infer the closure\'s argument types from. Consider typing the arguments or put the closures into a typed context."
+ + "\n== cannot be resolved"
+ + "\nkey cannot be resolved"
+ + "\nkey cannot be resolved"
+ + "\nvalue cannot be resolved"
+ + "\nop cannot be resolved"
+ + "\n== cannot be resolved"
+ + "\nelements cannot be resolved"
+ + "\nmap cannot be resolved"
+ + "\nforEach cannot be resolved");
}
- public org.eclipse.fx.code.editor.configuration.Check createCheck(final EditorGModel m, final Check c) {
+ public Check createCheck(final EditorGModel m, final org.eclipse.fx.code.editor.ldef.lDef.Check c) {
boolean _equals = Objects.equal(c, null);
if (_equals) {
return null;
diff --git a/bundles/code/org.eclipse.fx.code.editor/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.code.editor/META-INF/MANIFEST.MF
index 8eb4529..6f51574 100644
--- a/bundles/code/org.eclipse.fx.code.editor/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.code.editor/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
Bundle-ManifestVersion: 2
Bundle-Name: Basic service APIs for an Editor
Bundle-SymbolicName: org.eclipse.fx.code.editor
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.inject,
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.adapter;version="2.6.0",
- org.eclipse.fx.core.event;version="2.6.0",
- org.eclipse.fx.core.function;version="2.6.0",
- org.eclipse.fx.core.text;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.adapter;version="3.0.0",
+ org.eclipse.fx.core.event;version="3.0.0",
+ org.eclipse.fx.core.function;version="3.0.0",
+ org.eclipse.fx.core.text;version="3.0.0",
org.eclipse.fx.text.hover,
org.eclipse.fx.text.navigation,
org.eclipse.jface.text.rules,
org.osgi.service.component.annotations;version="1.2.0"
Require-Bundle: org.eclipse.text;bundle-version="3.5.400",
org.eclipse.e4.core.di.annotations;bundle-version="1.4.0"
-Export-Package: org.eclipse.fx.code.editor;version="2.6.0";x-internal:=true,
- org.eclipse.fx.code.editor.services;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.code.editor;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.code.editor.services;version="3.0.0";x-internal:=true
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/services/org.eclipse.fx.code.editor.services.internal.URLToPathAdapterProvider.xml,
OSGI-INF/services/org.eclipse.fx.code.editor.services.internal.FileInputTypeProvider.xml,
diff --git a/bundles/code/org.eclipse.fx.code.editor/pom.xml b/bundles/code/org.eclipse.fx.code.editor/pom.xml
index e242258..9b1c635 100644
--- a/bundles/code/org.eclipse.fx.code.editor/pom.xml
+++ b/bundles/code/org.eclipse.fx.code.editor/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.text.compat/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.text.compat/META-INF/MANIFEST.MF
index 83abc40..372f20d 100644
--- a/bundles/code/org.eclipse.fx.text.compat/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.text.compat/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Compat
Bundle-SymbolicName: org.eclipse.fx.text.compat
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.equinox.common;bundle-version="3.7.0",
org.eclipse.text;bundle-version="3.5.400"
diff --git a/bundles/code/org.eclipse.fx.text.compat/pom.xml b/bundles/code/org.eclipse.fx.text.compat/pom.xml
index f5d0bb0..56fcba1 100644
--- a/bundles/code/org.eclipse.fx.text.compat/pom.xml
+++ b/bundles/code/org.eclipse.fx.text.compat/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.text.ui/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.text.ui/META-INF/MANIFEST.MF
index c57c9f0..8c89995 100644
--- a/bundles/code/org.eclipse.fx.text.ui/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.text.ui/META-INF/MANIFEST.MF
@@ -2,27 +2,27 @@
Bundle-ManifestVersion: 2
Bundle-Name: Basic JavaFX components
Bundle-SymbolicName: org.eclipse.fx.text.ui
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.text;bundle-version="3.5.300",
org.eclipse.jdt.annotation;bundle-version="2.0.0";resolution:=optional,
org.eclipse.equinox.common;bundle-version="3.7.0",
org.eclipse.fx.text.compat;bundle-version="2.3.0",
org.eclipse.core.commands;bundle-version="3.7.0"
-Export-Package: org.eclipse.fx.text.ui;version="2.6.0";x-internal:=true,
- org.eclipse.fx.text.ui.contentassist;version="2.6.0";x-internal:=true,
- org.eclipse.fx.text.ui.presentation;version="2.6.0";x-internal:=true,
- org.eclipse.fx.text.ui.reconciler;version="2.6.0";x-internal:=true,
- org.eclipse.fx.text.ui.rules;version="2.6.0";x-internal:=true,
- org.eclipse.fx.text.ui.source;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.text.ui;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.text.ui.contentassist;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.text.ui.presentation;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.text.ui.reconciler;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.text.ui.rules;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.text.ui.source;version="3.0.0";x-internal:=true
Bundle-Vendor: Eclipse.org
Import-Package: com.google.common.collect;version="15.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.text;version="2.6.0",
- org.eclipse.fx.text.hover;version="2.6.0",
- org.eclipse.fx.text.navigation;version="2.6.0",
- org.eclipse.fx.ui.controls;version="2.6.0",
- org.eclipse.fx.ui.controls.list;version="2.6.0",
- org.eclipse.fx.ui.controls.styledtext;version="2.6.0",
- org.eclipse.fx.ui.controls.styledtext.events;version="2.6.0",
- org.eclipse.fx.ui.controls.styledtext.model;version="2.6.0"
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.text;version="3.0.0",
+ org.eclipse.fx.text.hover;version="3.0.0",
+ org.eclipse.fx.text.navigation;version="3.0.0",
+ org.eclipse.fx.ui.controls;version="3.0.0",
+ org.eclipse.fx.ui.controls.list;version="3.0.0",
+ org.eclipse.fx.ui.controls.styledtext;version="3.0.0",
+ org.eclipse.fx.ui.controls.styledtext.events;version="3.0.0",
+ org.eclipse.fx.ui.controls.styledtext.model;version="3.0.0"
diff --git a/bundles/code/org.eclipse.fx.text.ui/pom.xml b/bundles/code/org.eclipse.fx.text.ui/pom.xml
index 6c2975b..4297e59 100644
--- a/bundles/code/org.eclipse.fx.text.ui/pom.xml
+++ b/bundles/code/org.eclipse.fx.text.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/source/SourceViewer.java b/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/source/SourceViewer.java
index fd93679..d931b79 100644
--- a/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/source/SourceViewer.java
+++ b/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/source/SourceViewer.java
@@ -179,7 +179,7 @@
getTextWidget().setQuickLinkCallback(configuration.getQuicklinkCallback());
this.assistant = configuration.getContentAssist();
-
+
configureHoverSize(configuration::getHoverWindowSize, configuration::storeHoverWindowSize);
}
diff --git a/bundles/code/org.eclipse.fx.text/META-INF/MANIFEST.MF b/bundles/code/org.eclipse.fx.text/META-INF/MANIFEST.MF
index 9b417c6..05d8979 100644
--- a/bundles/code/org.eclipse.fx.text/META-INF/MANIFEST.MF
+++ b/bundles/code/org.eclipse.fx.text/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: Basic Text extension
Bundle-SymbolicName: org.eclipse.fx.text
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.fx.text.hover;version="2.6.0",
- org.eclipse.fx.text.navigation;version="2.6.0",
- org.eclipse.fx.text.rules;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.text.hover;version="3.0.0",
+ org.eclipse.fx.text.navigation;version="3.0.0",
+ org.eclipse.fx.text.rules;version="3.0.0";x-internal:=true
Require-Bundle: org.eclipse.text;bundle-version="3.5.300",
org.eclipse.equinox.common;bundle-version="3.6.200"
Bundle-Vendor: Eclipse.org
diff --git a/bundles/code/org.eclipse.fx.text/pom.xml b/bundles/code/org.eclipse.fx.text/pom.xml
index 9201687..6b2fdae 100644
--- a/bundles/code/org.eclipse.fx.text/pom.xml
+++ b/bundles/code/org.eclipse.fx.text/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/javax.annotation.jre/pom.xml b/bundles/runtime/javax.annotation.jre/pom.xml
index 2697787..f83c057 100755
--- a/bundles/runtime/javax.annotation.jre/pom.xml
+++ b/bundles/runtime/javax.annotation.jre/pom.xml
@@ -11,7 +11,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/javax.xml.jre/pom.xml b/bundles/runtime/javax.xml.jre/pom.xml
index 414a5c2..e22383b 100755
--- a/bundles/runtime/javax.xml.jre/pom.xml
+++ b/bundles/runtime/javax.xml.jre/pom.xml
@@ -11,7 +11,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.databinding.tests/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.databinding.tests/META-INF/MANIFEST.MF
index f110b43..1e7ad59 100644
--- a/bundles/runtime/org.eclipse.fx.core.databinding.tests/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.databinding.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests
Bundle-SymbolicName: org.eclipse.fx.core.databinding.tests
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.junit;bundle-version="4.11.0",
org.eclipse.core.databinding;bundle-version="1.4.1",
diff --git a/bundles/runtime/org.eclipse.fx.core.databinding/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.core.databinding/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.databinding/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.core.databinding/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.databinding/META-INF/MANIFEST.MF
index 32b37ba..0f7c28c 100755
--- a/bundles/runtime/org.eclipse.fx.core.databinding/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.databinding/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.core.databinding
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.databinding.observable;bundle-version="1.5.0",
org.eclipse.core.databinding.property;bundle-version="1.5.0",
org.eclipse.equinox.common;bundle-version="3.7.0",
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.core.databinding;version="2.6.0"
+Export-Package: org.eclipse.fx.core.databinding;version="3.0.0"
Bundle-Vendor: %Bundle-Vendor
diff --git a/bundles/runtime/org.eclipse.fx.core.databinding/pom.xml b/bundles/runtime/org.eclipse.fx.core.databinding/pom.xml
index 97a4cdd..b5ec44a 100755
--- a/bundles/runtime/org.eclipse.fx.core.databinding/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.databinding/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/.project b/bundles/runtime/org.eclipse.fx.core.di.context.tests/.project
index b0dad9d..8229ca7 100644
--- a/bundles/runtime/org.eclipse.fx.core.di.context.tests/.project
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/.project
@@ -20,6 +20,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.di.context.tests/META-INF/MANIFEST.MF
index 1111da6..8256c73 100644
--- a/bundles/runtime/org.eclipse.fx.core.di.context.tests/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Tests
Bundle-SymbolicName: org.eclipse.fx.core.di.context.tests
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.junit;bundle-version="4.11.0",
org.eclipse.fx.core.di;bundle-version="0.9.0",
@@ -17,5 +17,8 @@
Import-Package: javax.annotation;version="1.1.0";resolution:=optional,
javax.inject;version="1.0.0",
org.eclipse.core.runtime;version="3.5.0",
- org.osgi.framework;version="1.8.0"
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.component.annotations;version="1.2.0"
Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceA.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceB.xml
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceA.xml b/bundles/runtime/org.eclipse.fx.core.di.context.tests/OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceA.xml
new file mode 100644
index 0000000..dfeadf5
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceA.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.core.di.context.tests.SampleServiceA">
+ <property name="service.ranking" value="1"/>
+ <service>
+ <provide interface="org.eclipse.fx.core.di.context.tests.TestService"/>
+ </service>
+ <implementation class="org.eclipse.fx.core.di.context.tests.SampleServiceA"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceB.xml b/bundles/runtime/org.eclipse.fx.core.di.context.tests/OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceB.xml
new file mode 100644
index 0000000..719ec14
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceB.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.core.di.context.tests.SampleServiceB">
+ <service>
+ <provide interface="org.eclipse.fx.core.di.context.tests.TestService"/>
+ </service>
+ <implementation class="org.eclipse.fx.core.di.context.tests.SampleServiceB"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/build.properties b/bundles/runtime/org.eclipse.fx.core.di.context.tests/build.properties
index ff124f5..be35c6d 100644
--- a/bundles/runtime/org.eclipse.fx.core.di.context.tests/build.properties
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/build.properties
@@ -1,6 +1,8 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceA.xml,\
+ OSGI-INF/services/org.eclipse.fx.core.di.context.tests.SampleServiceB.xml
additional.bundles = org.eclipse.jdt.annotation
-jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
\ No newline at end of file
+jars.extra.classpath = platform:/plugin/org.eclipse.jdt.annotation
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ContextTestSuite.java b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ContextTestSuite.java
index 3691d79..bd2a2bb 100644
--- a/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ContextTestSuite.java
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ContextTestSuite.java
@@ -5,7 +5,7 @@
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
-@SuiteClasses({ContextBoundValueTestCase.class, PreferenceValueTestCase.class})
+@SuiteClasses({ContextBoundValueTestCase.class, PreferenceValueTestCase.class,ServiceSupplierTestCase.class})
public class ContextTestSuite {
}
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/SampleServiceA.java b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/SampleServiceA.java
new file mode 100644
index 0000000..dc9ba5f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/SampleServiceA.java
@@ -0,0 +1,8 @@
+package org.eclipse.fx.core.di.context.tests;
+
+import org.osgi.service.component.annotations.Component;
+
+@Component(property="service.ranking=1")
+public class SampleServiceA implements TestService {
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/SampleServiceB.java b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/SampleServiceB.java
new file mode 100644
index 0000000..8765341
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/SampleServiceB.java
@@ -0,0 +1,8 @@
+package org.eclipse.fx.core.di.context.tests;
+
+import org.osgi.service.component.annotations.Component;
+
+@Component
+public class SampleServiceB implements TestService {
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ServiceSupplierTestCase.java b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ServiceSupplierTestCase.java
new file mode 100644
index 0000000..e925201
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/ServiceSupplierTestCase.java
@@ -0,0 +1,158 @@
+package org.eclipse.fx.core.di.context.tests;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.EclipseContextFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.fx.core.di.Service;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceRegistration;
+
+public class ServiceSupplierTestCase {
+ public static class TestBean {
+ TestService service;
+ List<TestService> serviceList;
+ int serviceInjectionCount;
+ int serviceListInjectionCount;
+
+ @Inject
+ public void setService(@Service TestService service) {
+ this.service = service;
+ this.serviceInjectionCount++;
+ }
+
+ @Inject
+ public void setServiceList(@Service List<TestService> serviceList) {
+ this.serviceList = serviceList;
+ this.serviceListInjectionCount++;
+ }
+ }
+
+ private List<ServiceRegistration<?>> registrations = new ArrayList<>();
+
+ @After
+ public void cleanup() {
+ this.registrations.forEach( r -> r.unregister());
+ }
+
+ @Test
+ public void testInitialInject() {
+ IEclipseContext serviceContext = EclipseContextFactory.getServiceContext(FrameworkUtil.getBundle(getClass()).getBundleContext());
+ TestBean bean = ContextInjectionFactory.make(TestBean.class, serviceContext);
+ Assert.assertNotNull(bean.service);
+ Assert.assertNotNull(bean.serviceList);
+ Assert.assertSame(SampleServiceA.class,bean.service.getClass());
+ Assert.assertEquals(1, bean.serviceInjectionCount);
+
+ Assert.assertEquals(2, bean.serviceList.size());
+ Assert.assertEquals(1, bean.serviceListInjectionCount);
+ Assert.assertSame(SampleServiceA.class,bean.serviceList.get(0).getClass());
+ Assert.assertSame(SampleServiceB.class,bean.serviceList.get(1).getClass());
+
+ }
+
+ @Test
+ public void testDynamicAdd() {
+ BundleContext context = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ IEclipseContext serviceContext = EclipseContextFactory.getServiceContext(context);
+ TestBean bean = ContextInjectionFactory.make(TestBean.class, serviceContext);
+
+ Assert.assertEquals(1, bean.serviceInjectionCount);
+ Assert.assertEquals(1, bean.serviceListInjectionCount);
+
+ TestService t = new TestService() {
+ // nothing todo
+ };
+
+ Hashtable<String, Object> properties = new Hashtable<>();
+ properties.put("service.ranking", 2); //$NON-NLS-1$
+ this.registrations.add(context.registerService(TestService.class, t, properties));
+
+ Assert.assertSame(t,bean.service);
+ Assert.assertEquals(2, bean.serviceInjectionCount);
+
+ Assert.assertEquals(2, bean.serviceListInjectionCount);
+ Assert.assertEquals(3, bean.serviceList.size());
+ Assert.assertSame(t,bean.serviceList.get(0));
+
+ TestService t2 = new TestService() {
+ // nothing todo
+ };
+
+ properties = new Hashtable<>();
+ properties.put("service.ranking", Integer.valueOf(-1)); //$NON-NLS-1$
+ this.registrations.add(context.registerService(TestService.class, t2, properties));
+
+ Assert.assertSame(t,bean.service);
+ Assert.assertEquals(3, bean.serviceInjectionCount);
+
+ Assert.assertEquals(3, bean.serviceListInjectionCount);
+
+ Assert.assertEquals(4, bean.serviceList.size());
+ Assert.assertSame(t,bean.serviceList.get(0));
+ }
+
+ @Test
+ public void testDynamicAddRemove() {
+ BundleContext context = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ IEclipseContext serviceContext = EclipseContextFactory.getServiceContext(context);
+ TestBean bean = ContextInjectionFactory.make(TestBean.class, serviceContext);
+
+ Assert.assertEquals(1, bean.serviceInjectionCount);
+ Assert.assertEquals(1, bean.serviceListInjectionCount);
+
+ TestService t = new TestService() {
+ // nothing todo
+ };
+
+ Hashtable<String, Object> properties = new Hashtable<>();
+ properties.put("service.ranking", 2); //$NON-NLS-1$
+ this.registrations.add(context.registerService(TestService.class, t, properties));
+
+ Assert.assertSame(t,bean.service);
+ Assert.assertEquals(2, bean.serviceInjectionCount);
+
+ Assert.assertEquals(2, bean.serviceListInjectionCount);
+ Assert.assertEquals(3, bean.serviceList.size());
+ Assert.assertSame(t,bean.serviceList.get(0));
+
+ ServiceRegistration<?> registration = this.registrations.get(0);
+ registration.unregister();
+ this.registrations.remove(registration);
+
+ Assert.assertEquals(3, bean.serviceInjectionCount);
+ Assert.assertEquals(3, bean.serviceListInjectionCount);
+
+ Assert.assertSame(SampleServiceA.class,bean.service.getClass());
+ Assert.assertEquals(2, bean.serviceList.size());
+ Assert.assertSame(SampleServiceA.class,bean.serviceList.get(0).getClass());
+ Assert.assertSame(SampleServiceB.class,bean.serviceList.get(1).getClass());
+ }
+
+ @Test
+ public void testCleanup() {
+ BundleContext context = FrameworkUtil.getBundle(getClass()).getBundleContext();
+ IEclipseContext iec = EclipseContextFactory.getServiceContext(context).createChild();
+ TestBean bean = ContextInjectionFactory.make(TestBean.class, iec);
+ iec.dispose();
+
+ TestService t = new TestService() {
+ // nothing todo
+ };
+
+ Hashtable<String, Object> properties = new Hashtable<>();
+ properties.put("service.ranking", 2); //$NON-NLS-1$
+ this.registrations.add(context.registerService(TestService.class, t, properties));
+
+ Assert.assertSame(SampleServiceA.class,bean.service.getClass());
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/TestService.java b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/TestService.java
new file mode 100644
index 0000000..96f34a6
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context.tests/src/org/eclipse/fx/core/di/context/tests/TestService.java
@@ -0,0 +1,5 @@
+package org.eclipse.fx.core.di.context.tests;
+
+public interface TestService {
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.core.di.context/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di.context/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.di.context/META-INF/MANIFEST.MF
index ac30b38..10a7365 100644
--- a/bundles/runtime/org.eclipse.fx.core.di.context/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.di.context/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Context
Bundle-SymbolicName: org.eclipse.fx.core.di.context
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.3.0",
@@ -14,14 +14,32 @@
org.eclipse.equinox.preferences;bundle-version="3.5.300"
Import-Package: javax.annotation;version="1.1.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.adapter;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.event;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.core.preferences;version="2.6.0",
- org.eclipse.fx.core.text;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.adapter;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.event;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.core.preferences;version="3.0.0",
+ org.eclipse.fx.core.text;version="3.0.0",
org.osgi.framework;version="1.8.0"
-Service-Component: OSGI-INF/services/*
-Export-Package: org.eclipse.fx.core.di.context;version="2.6.0"
+Export-Package: org.eclipse.fx.core.di.context;version="3.0.0"
Bundle-Vendor: Eclipse.org
+Service-Component: OSGI-INF/services/org.eclipse.fx.core.di.context.internal.LocaleProviderFunction.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ConsumerAdapterProvider_Value.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.AdaptValueSupplier.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ObservableAdapterProvider_Value.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ObservableAdapterProvider.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.PropertyAdapterProvider.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.EventSystemContextFunction.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ScopedObjectFactoryFunction.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.FXMLLoaderTypeProvider.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.PreferenceValueSupplier.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ConsumerAdapterProvider.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ServiceSupplier.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.LoggerSupplier.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.PropertyAdapterProvider_Value.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.NumberFormatterFunction.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.DateFormatterFunction.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.ContextBoundValueSupplier.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.TemportalAccessorFormatterFunction.xml,
+ OSGI-INF/services/org.eclipse.fx.core.di.context.internal.LocalInstanceObjectSupplier.xml
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context/pom.xml b/bundles/runtime/org.eclipse.fx.core.di.context/pom.xml
index 8f238f0..5bfca9b 100755
--- a/bundles/runtime/org.eclipse.fx.core.di.context/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.di.context/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.di.context/src/org/eclipse/fx/core/di/context/internal/ServiceSupplier.java b/bundles/runtime/org.eclipse.fx.core.di.context/src/org/eclipse/fx/core/di/context/internal/ServiceSupplier.java
index ffcf5af..5f6d876 100644
--- a/bundles/runtime/org.eclipse.fx.core.di.context/src/org/eclipse/fx/core/di/context/internal/ServiceSupplier.java
+++ b/bundles/runtime/org.eclipse.fx.core.di.context/src/org/eclipse/fx/core/di/context/internal/ServiceSupplier.java
@@ -14,19 +14,18 @@
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Predicate;
-import javax.inject.Named;
-
-import org.eclipse.e4.core.contexts.IContextFunction;
import org.eclipse.e4.core.di.IInjector;
import org.eclipse.e4.core.di.suppliers.ExtendedObjectSupplier;
import org.eclipse.e4.core.di.suppliers.IObjectDescriptor;
import org.eclipse.e4.core.di.suppliers.IRequestor;
-import org.eclipse.e4.core.internal.contexts.ContextObjectSupplier;
-import org.eclipse.e4.core.internal.di.Requestor;
import org.eclipse.fx.core.di.Service;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -48,36 +47,57 @@
public class ServiceSupplier extends ExtendedObjectSupplier {
static class ServiceHandler implements ServiceListener {
- private final IRequestor requestor;
+ private final ServiceSupplier supplier;
+ final Set<IRequestor> requestors = new HashSet<>();
private final BundleContext bundleContext;
- private final Class<?> type;
+ private final Class<?> serviceType;
- public ServiceHandler(IRequestor requestor, BundleContext bundleContext, Class<?> type) {
- this.requestor = requestor;
+ public ServiceHandler(ServiceSupplier supplier, BundleContext bundleContext, Class<?> serviceType) {
+ this.supplier = supplier;
this.bundleContext = bundleContext;
- this.type = type;
+ this.serviceType = serviceType;
}
@Override
public void serviceChanged(ServiceEvent event) {
- if (!this.requestor.isValid()) {
- this.bundleContext.removeServiceListener(this);
- return;
- }
+ synchronized (this.supplier) {
+ Predicate<IRequestor> pr = IRequestor::isValid;
+ this.requestors.removeIf(pr.negate());
- String[] data = (String[]) event.getServiceReference().getProperty(Constants.OBJECTCLASS);
- for (String d : data) {
- if (this.type.getName().equals(d)) {
- this.requestor.resolveArguments(false);
- break;
- } else if( d.equals(IContextFunction.SERVICE_NAME) && this.type.getName().equals(event.getServiceReference().getProperty(IContextFunction.SERVICE_CONTEXT_KEY)) ) {
- this.requestor.resolveArguments(false);
- break;
+ if( this.requestors.isEmpty() ) {
+ Map<Class<?>, ServiceHandler> map = this.supplier.handlerList.get(this.bundleContext);
+ if( map != null ) {
+ map.remove(this.serviceType);
+
+ if( map.isEmpty() ) {
+ this.supplier.handlerList.remove(this.bundleContext);
+ }
+ }
+
+ this.bundleContext.removeServiceListener(this);
+ return;
+ }
+
+ String[] data = (String[]) event.getServiceReference().getProperty(Constants.OBJECTCLASS);
+ for (String d : data) {
+ if (this.serviceType.getName().equals(d)) {
+ this.requestors.forEach( r -> {
+ try {
+ r.resolveArguments(false);
+ r.execute();
+ } catch(Throwable t) {
+ t.printStackTrace();
+ }
+ });
+ break;
+ }
}
}
}
}
+ Map<BundleContext,Map<Class<?>,ServiceHandler>> handlerList = new HashMap<>();
+
@Override
public Object get(IObjectDescriptor descriptor, IRequestor requestor, boolean track, boolean group) {
Type desiredType = descriptor.getDesiredType();
@@ -109,27 +129,26 @@
Arrays.sort(serviceReferences);
if( serviceReferences.length > 0 ) {
- return context.getService(serviceReferences[0]);
+ if( track ) {
+ trackService(context, cl, requestor);
+ }
+ return context.getService(serviceReferences[serviceReferences.length-1]);
}
}
}
-
- Requestor<?> rr = (Requestor<?>) requestor;
- ContextObjectSupplier cp = (ContextObjectSupplier) rr.getPrimarySupplier();
-
- Collection<ServiceReference<IContextFunction>> serviceReferences = context.getServiceReferences(IContextFunction.class, null);
- List<ServiceReference<IContextFunction>> l = new ArrayList<>(serviceReferences);
- Collections.sort(l);
- for( ServiceReference<IContextFunction> r : l ) {
- if( cl.getName().equals(r.getProperty(SERVICE_CONTEXT_KEY)) ) {
- Named qualifier = descriptor.getQualifier(Named.class);
- return context.getService(r).compute(cp.getContext(), qualifier == null ? cl.getName() : qualifier.value());
- }
- }
-
- if( track ) {
- context.addServiceListener(new ServiceHandler(requestor, context, cl));
- }
+//FIXME This code looks strange
+// Requestor<?> rr = (Requestor<?>) requestor;
+// ContextObjectSupplier cp = (ContextObjectSupplier) rr.getPrimarySupplier();
+//
+// Collection<ServiceReference<IContextFunction>> serviceReferences = context.getServiceReferences(IContextFunction.class, null);
+// List<ServiceReference<IContextFunction>> l = new ArrayList<>(serviceReferences);
+// Collections.sort(l);
+// for( ServiceReference<IContextFunction> r : l ) {
+// if( cl.getName().equals(r.getProperty(SERVICE_CONTEXT_KEY)) ) {
+// Named qualifier = descriptor.getQualifier(Named.class);
+// return context.getService(r).compute(cp.getContext(), qualifier == null ? cl.getName() : qualifier.value());
+// }
+// }
} catch (InvalidSyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -155,11 +174,15 @@
for (ServiceReference<?> serviceReference : serviceReferences) {
rv.add(context.getService(serviceReference));
- if( track ) {
- context.addServiceListener(new ServiceHandler(requestor, context, cl));
- }
}
}
+
+ // We are in the wrong order
+ Collections.reverse(rv);
+
+ if( track ) {
+ trackService(context, cl, requestor);
+ }
} catch (InvalidSyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -167,4 +190,14 @@
return rv;
}
+
+ private synchronized void trackService(BundleContext context, Class<?> serviceClass, IRequestor requestor) {
+ Map<Class<?>, ServiceHandler> map = this.handlerList.computeIfAbsent(context, (k) -> new HashMap<>());
+ ServiceHandler handler = map.computeIfAbsent(serviceClass, (cl) -> {
+ ServiceHandler h = new ServiceHandler(this,context, serviceClass);
+ context.addServiceListener(h);
+ return h;
+ });
+ handler.requestors.add(requestor);
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.core.di/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.core.di/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.di/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.core.di/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.di/META-INF/MANIFEST.MF
index 6ee8fc6..bd25520 100644
--- a/bundles/runtime/org.eclipse.fx.core.di/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.di/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: Di
Bundle-SymbolicName: org.eclipse.fx.core.di
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Import-Package: javax.annotation;version="1.2.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.adapter;version="2.6.0"
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.adapter;version="3.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.core.di;version="2.6.0"
+Export-Package: org.eclipse.fx.core.di;version="3.0.0"
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.core.di/pom.xml b/bundles/runtime/org.eclipse.fx.core.di/pom.xml
index 43e6853..0b8c31b 100755
--- a/bundles/runtime/org.eclipse.fx.core.di/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.di/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.fxml/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.core.fxml/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.fxml/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.core.fxml/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.fxml/META-INF/MANIFEST.MF
index cef7b30..b46fd8c 100644
--- a/bundles/runtime/org.eclipse.fx.core.fxml/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.fxml/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fxml
Bundle-SymbolicName: org.eclipse.fx.core.fxml
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="2.0.0";resolution:=optional
-Export-Package: org.eclipse.fx.core.fxml;version="2.6.0"
+Export-Package: org.eclipse.fx.core.fxml;version="3.0.0"
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.core.fxml/pom.xml b/bundles/runtime/org.eclipse.fx.core.fxml/pom.xml
index 1804751..8d8fd7a 100755
--- a/bundles/runtime/org.eclipse.fx.core.fxml/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.fxml/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.guice/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.guice/META-INF/MANIFEST.MF
index da3e4fb..a41fec9 100755
--- a/bundles/runtime/org.eclipse.fx.core.guice/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.guice/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.core.guice
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: com.google.inject;version="[1.3.0,2.0.0)",
com.google.inject.spi;version="[1.3.0,2.0.0)",
javax.inject;version="1.0.0",
- org.eclipse.fx.core.log;version="2.6.0",
+ org.eclipse.fx.core.log;version="3.0.0",
org.osgi.framework;version="1.8.0"
Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.fx.core.guice;version="2.6.0"
+Export-Package: org.eclipse.fx.core.guice;version="3.0.0"
diff --git a/bundles/runtime/org.eclipse.fx.core.guice/pom.xml b/bundles/runtime/org.eclipse.fx.core.guice/pom.xml
index 40d41ec..ae8595e 100755
--- a/bundles/runtime/org.eclipse.fx.core.guice/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.guice/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.log4j/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.log4j/META-INF/MANIFEST.MF
index b1d583f..1ca912d 100755
--- a/bundles/runtime/org.eclipse.fx.core.log4j/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.log4j/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.core.log4j
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.core.log4j.Log4JLoggerFactory.xml
Import-Package: javax.inject;version="1.0.0",
org.apache.log4j;version="1.2.15",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0"
Bundle-Vendor: %Bundle-Vendor
diff --git a/bundles/runtime/org.eclipse.fx.core.log4j/pom.xml b/bundles/runtime/org.eclipse.fx.core.log4j/pom.xml
index 8b194da..f64961b 100755
--- a/bundles/runtime/org.eclipse.fx.core.log4j/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.log4j/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.p2/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.p2/META-INF/MANIFEST.MF
index b1db04d..ec9ce24 100755
--- a/bundles/runtime/org.eclipse.fx.core.p2/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.p2/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: P2
Bundle-SymbolicName: org.eclipse.fx.core.p2
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.p2.core;version="2.0.0",
org.eclipse.equinox.p2.operations;version="2.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.core.operation;version="2.6.0",
- org.eclipse.fx.core.update;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.core.operation;version="3.0.0",
+ org.eclipse.fx.core.update;version="3.0.0",
org.osgi.framework;version="1.3.0",
org.osgi.service.component.annotations;version="1.2.0"
Require-Bundle: org.eclipse.core.jobs,
diff --git a/bundles/runtime/org.eclipse.fx.core.p2/pom.xml b/bundles/runtime/org.eclipse.fx.core.p2/pom.xml
index 3fa7c59..538665b 100755
--- a/bundles/runtime/org.eclipse.fx.core.p2/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.p2/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.slf4j/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.core.slf4j/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.slf4j/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.core.slf4j/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.slf4j/META-INF/MANIFEST.MF
index 12b4a6b..e0e5151 100644
--- a/bundles/runtime/org.eclipse.fx.core.slf4j/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core.slf4j/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.core.slf4j
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Service-Component: OSGI-INF/slf4jlogger.xml
Import-Package: javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
org.slf4j;version="1.7.2"
Bundle-Vendor: %Bundle-Vendor
diff --git a/bundles/runtime/org.eclipse.fx.core.slf4j/pom.xml b/bundles/runtime/org.eclipse.fx.core.slf4j/pom.xml
index 49d824b..25b0217 100755
--- a/bundles/runtime/org.eclipse.fx.core.slf4j/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core.slf4j/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/.classpath b/bundles/runtime/org.eclipse.fx.core.tests/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/.gitignore b/bundles/runtime/org.eclipse.fx.core.tests/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/.project b/bundles/runtime/org.eclipse.fx.core.tests/.project
new file mode 100644
index 0000000..7f00feb
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.fx.core.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/runtime/org.eclipse.fx.core.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..cd33f2c
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Tests
+Bundle-SymbolicName: org.eclipse.fx.core.tests
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: org.eclipse.fx.core.bindings,
+ org.eclipse.fx.core.property
+Require-Bundle: org.junit;bundle-version="4.12.0",
+ org.eclipse.fx.core
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/build.properties b/bundles/runtime/org.eclipse.fx.core.tests/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/bundles/runtime/org.eclipse.fx.core.tests/src/org/eclipse/fx/core/property/FXBindingsTest.java b/bundles/runtime/org.eclipse.fx.core.tests/src/org/eclipse/fx/core/property/FXBindingsTest.java
new file mode 100644
index 0000000..6e32a4f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core.tests/src/org/eclipse/fx/core/property/FXBindingsTest.java
@@ -0,0 +1,751 @@
+package org.eclipse.fx.core.property;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+import org.eclipse.fx.core.Subscription;
+import org.eclipse.fx.core.Status.State;
+import org.eclipse.fx.core.bindings.FXBindings;
+import org.eclipse.fx.core.bindings.FXBindings.StatusBinding;
+import org.eclipse.fx.core.bindings.FXCollectors;
+import org.junit.Assert;
+import org.junit.Test;
+
+import javafx.beans.binding.ListBinding;
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.Property;
+import javafx.beans.property.SimpleIntegerProperty;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.beans.property.StringProperty;
+import javafx.beans.value.ObservableValue;
+import javafx.collections.FXCollections;
+import javafx.collections.ListChangeListener;
+import javafx.collections.ListChangeListener.Change;
+import javafx.collections.ObservableList;
+import javafx.collections.transformation.SortedList;
+
+public class FXBindingsTest {
+
+ public static class Inner {
+ public final StringProperty Value;
+
+ public Inner(String blub) {
+ this.Value = new SimpleStringProperty(blub);
+ }
+ }
+
+ public static class Outer {
+ public ObjectProperty<Inner> Value = new SimpleObjectProperty<>();
+ }
+
+ public static class Person {
+ private static int i;
+ private final StringProperty name;
+ private ObjectProperty<Address> address = new SimpleObjectProperty<>();
+
+ public Person() {
+ this.name = new SimpleStringProperty(this, "name", i++ + "");
+ }
+
+ public Person(String name) {
+ this.name = new SimpleStringProperty(this, "name", name);
+ }
+ }
+
+ public static class Address {
+ private StringProperty street = new SimpleStringProperty();
+ }
+
+ @Test
+ public void testBindStream() {
+ Outer outer = new Outer();
+ Inner inner = new Inner("Hello");
+ outer.Value.set(inner);
+
+ ObjectProperty<Outer> master = new SimpleObjectProperty<Outer>(outer);
+
+ ObjectBinding<String> m2 = FXBindings.bindStream(master).map(o -> o.Value).map(i -> i.Value).toBinding();
+
+ Assert.assertEquals("Hello", m2.get());
+
+ inner.Value.set("test1");
+
+ Assert.assertEquals("test1", m2.get());
+
+ Inner inner2 = new Inner("test2");
+ outer.Value.set(inner2);
+
+ Assert.assertEquals("test2", m2.get());
+
+ Outer outer2 = new Outer();
+ Inner inner3 = new Inner("test3");
+ outer2.Value.set(inner3);
+ master.set(outer2);
+
+ Assert.assertEquals("test3", m2.get());
+
+ ObjectProperty<Person> p = new SimpleObjectProperty<>( new Person() );
+
+ ObjectBinding<String> street = FXBindings.bindStream( p ).map( o -> o.address).map( o -> o.street).toBinding();
+ Property<String> streetProperty = FXBindings.bindStream( p ).map( o -> o.address).collect(FXCollectors.toProperty(o -> o.street));
+
+ Assert.assertNull(street.get());
+ Address a = new Address();
+ p.get().address.set(a);
+ Assert.assertNull(street.get());
+ p.get().address.get().street.set("Test");
+ Assert.assertEquals("Test",street.get());
+ Assert.assertEquals("Test",streetProperty.getValue());
+ streetProperty.setValue("Super geil 1");
+ Assert.assertEquals("Super geil 1",street.get());
+
+ Address a2 = new Address();
+ a2.street.set("Bla");
+ p.get().address.set(a2);
+ Assert.assertEquals("Bla",street.get());
+
+ streetProperty.setValue("Super geil 2");
+ Assert.assertEquals("Super geil 2",street.get());
+
+ Assert.assertEquals(a.street.get(), "Super geil 1");
+ Assert.assertEquals(a2.street.get(), "Super geil 2");
+
+
+ StringProperty uiProp = new SimpleStringProperty();
+ uiProp.bindBidirectional(streetProperty);
+ Assert.assertEquals("Super geil 2", uiProp.get());
+ streetProperty.setValue("ui value");
+ Assert.assertEquals("ui value", uiProp.get());
+ uiProp.set("back to model");
+ Assert.assertEquals("back to model", a2.street.get());
+ }
+
+ @Test
+ public void testCollectors() {
+ Outer outer = new Outer();
+ Inner inner = new Inner("Hello");
+ outer.Value.set(inner);
+
+ ObjectProperty<Outer> master = new SimpleObjectProperty<Outer>(outer);
+
+ ObjectBinding<String> m2 = FXBindings.bindStream(master).map(o -> o.Value).map(i -> i.Value).collect(FXCollectors.toBinding());
+
+ Assert.assertEquals(m2.get(), "Hello");
+ master.set(null);
+ Assert.assertNull(m2.get());
+
+ master.set(outer);
+ m2 = FXBindings.bindStream(master).map(o -> o.Value).map(i -> i.Value).collect(FXCollectors.toBinding("No Null"));
+ Assert.assertEquals(m2.get(), "Hello");
+ master.set(null);
+ Assert.assertEquals(m2.get(),"No Null");
+ }
+
+ @Test
+ public void testGC() {
+ ObjectProperty<Person> p = new SimpleObjectProperty<>( new Person() );
+
+ ObjectBinding<String> street = FXBindings.bindStream( p ).map( o -> o.address).map( o -> o.street).toBinding();
+ Property<String> streetProperty = FXBindings.bindStream( p ).map( o -> o.address).collect(FXCollectors.toProperty(o -> o.street));
+
+ System.gc();
+
+ Assert.assertNull(street.get());
+ Address a = new Address();
+ p.get().address.set(a);
+ Assert.assertNull(street.get());
+ p.get().address.get().street.set("Test");
+ Assert.assertEquals("Test",street.get());
+ Assert.assertEquals("Test",streetProperty.getValue());
+ streetProperty.setValue("Super geil 1");
+ Assert.assertEquals("Super geil 1",street.get());
+ }
+
+ @Test
+ public void testNullRoot() {
+ ObjectProperty<Person> p = new SimpleObjectProperty<>( new Person() );
+ p.get().address.set(new Address());
+ p.get().address.get().street.set("Street");
+ Property<String> streetProperty = FXBindings.bindStream( p ).map( o -> o.address).collect(FXCollectors.toProperty(o -> o.street));
+ p.set(null);
+ Assert.assertNull(streetProperty.getValue());
+
+ Person p2 = new Person();
+ Address a2 = new Address();
+ a2.street.set("New Street");
+ p2.address.set(a2);
+ p.set(p2);
+ Assert.assertNotNull(streetProperty.getValue());
+
+ p2.address.set(null);
+ Assert.assertNull(streetProperty.getValue());
+
+ Address a3 = new Address();
+ a3.street.set("New New Street");
+ p2.address.set(a3);
+ Assert.assertNotNull(streetProperty.getValue());
+ }
+
+ @Test
+ public void testHop0() {
+ ObjectProperty<Person> currentPerson = new SimpleObjectProperty<>();
+
+ ObjectBinding<Person> binding = FXBindings.bindStream(currentPerson).toBinding();
+ Assert.assertNull(binding.get());
+ Person p1 = new Person();
+ currentPerson.set(p1);
+ Assert.assertSame(p1,binding.get());
+
+ Person p2 = new Person();
+ currentPerson.set(p2);
+ Assert.assertSame(p2,binding.get());
+ }
+
+ @Test
+ public void testListenerInit() {
+ ObjectProperty<Person> currentPerson = new SimpleObjectProperty<>();
+
+ ObjectBinding<Person> binding = FXBindings.bindStream(currentPerson).toBinding();
+ AtomicInteger i = new AtomicInteger();
+ binding.addListener( o -> {
+ i.incrementAndGet();
+ });
+
+ Assert.assertEquals(0, i.get());
+ Person p1 = new Person();
+ currentPerson.set(p1);
+ Assert.assertEquals(1, i.get());
+ }
+
+ @Test
+ public void testListenerInitComplex() {
+ ObjectProperty<Person> currentPerson = new SimpleObjectProperty<>();
+
+ ObjectBinding<Address> binding = FXBindings.bindStream(currentPerson).map( p -> p.address).toBinding();
+ AtomicInteger i = new AtomicInteger();
+ binding.addListener( o -> {
+ i.incrementAndGet();
+ });
+
+ Assert.assertEquals(0, i.get());
+ Person p1 = new Person();
+ currentPerson.set(p1);
+ Assert.assertEquals(1, i.get());
+ }
+
+ @Test
+ public void testMap() {
+ ObjectProperty<String> master = new SimpleObjectProperty<String>("Test");
+
+ ObjectBinding<String> map = FXBindings.map(master, x -> "Hallo " + x);
+
+ Assert.assertEquals("Hallo Test", map.get());
+
+ master.set("Foo");
+
+ Assert.assertEquals("Hallo Foo", map.get());
+ }
+
+ @Test
+ public void testFlatMap() {
+ Outer outer = new Outer();
+ Inner inner = new Inner("Hello");
+ outer.Value.set(inner);
+
+ ObjectProperty<Outer> master = new SimpleObjectProperty<Outer>(outer);
+
+ ObjectBinding<Inner> m1 = FXBindings.flatMap(master, o -> o.Value);
+ ObjectBinding<String> m2 = FXBindings.flatMap(m1, i -> i.Value);
+
+
+ Assert.assertEquals("Hello", m2.get());
+
+ inner.Value.set("test1");
+
+ Assert.assertEquals("test1", m2.get());
+
+ Inner inner2 = new Inner("test2");
+ outer.Value.set(inner2);
+
+ Assert.assertEquals("test2", m2.get());
+
+ Outer outer2 = new Outer();
+ Inner inner3 = new Inner("test3");
+ outer2.Value.set(inner3);
+ master.set(outer2);
+
+ Assert.assertEquals("test3", m2.get());
+
+ }
+
+ private static interface ChangeTest<T> {
+ void test(Change<? extends T> change);
+ }
+ private static class RemoveAdd<T> implements ChangeTest<T> {
+ private T[] added;
+ private T[] removed;
+ private int from;
+
+ public RemoveAdd(T[] removed, T[] added, int from) {
+ this.added = added;
+ this.removed = removed;
+ this.from = from;
+ }
+
+ @Override
+ public void test(Change<? extends T> change) {
+ Assert.assertEquals(added.length > 0, change.wasAdded());
+ Assert.assertEquals(removed.length > 0, change.wasRemoved());
+ Assert.assertEquals(from, change.getFrom());
+ Assert.assertArrayEquals(added, change.getAddedSubList().toArray());
+ Assert.assertArrayEquals(removed, change.getRemoved().toArray());
+ }
+
+ }
+
+ private <T> void assertChange(List<Change<? extends T>> actual, ChangeTest<T>... expected) {
+ Assert.assertEquals(expected.length, actual.size());
+ int idx = 0;
+ for (Change<? extends T> c : actual) {
+ c.reset();
+ c.next();
+ expected[idx].test(c);
+ idx++;
+ }
+ actual.clear();
+ }
+
+ @Test
+ public void testConcat() {
+
+ ObservableList<String> l0 = FXCollections.observableArrayList();
+ ObservableList<String> l1 = FXCollections.observableArrayList();
+ ObservableList<String> l2 = FXCollections.observableArrayList();
+
+ ListBinding<String> concat = FXBindings.concat(l0, l1, l2);
+
+ List<Change<? extends String>> curChange = new ArrayList<>();
+ ListChangeListener<String> l = c -> {
+ curChange.add(c);
+ c.next();
+ System.err.println("Removed: " + c.getRemoved());
+ System.err.println("Added: " + c.getAddedSubList());
+ };
+ concat.addListener(l);
+
+
+ Assert.assertEquals(0, concat.size());
+
+ l1.add("Hello");
+
+ Assert.assertArrayEquals(new String[] {
+ "Hello"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] {}, new String[] { "Hello" }, 0));
+
+
+ l2.add("World");
+
+ Assert.assertArrayEquals(new String[] {
+ "Hello",
+ "World"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] {}, new String[] { "World" }, 1));
+
+ l0.add("yay");
+
+ Assert.assertArrayEquals(new String[] {
+ "yay",
+ "Hello",
+ "World"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] {}, new String[] { "yay" }, 0));
+
+ l0.add("!!!");
+
+ System.gc();
+
+ Assert.assertArrayEquals(new String[] {
+ "yay",
+ "!!!",
+ "Hello",
+ "World"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] {}, new String[] { "!!!" }, 1));
+
+ l0.remove("!!!");
+
+ Assert.assertArrayEquals(new String[] {
+ "yay",
+ "Hello",
+ "World"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { "!!!" }, new String[] { }, 1));
+
+ l0.remove("yay");
+
+ Assert.assertArrayEquals(new String[] {
+ "Hello",
+ "World"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { "yay" }, new String[] { }, 0));
+
+ l2.remove("World");
+
+ Assert.assertArrayEquals(new String[] {
+ "Hello"
+ }, concat.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { "World" }, new String[] { }, 1));
+
+ l1.remove("Hello");
+
+ Assert.assertEquals(0, concat.size());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { "Hello" }, new String[] { }, 0));
+ }
+
+ @Test
+ public void testConcatChangeEvents() {
+ ObservableList<String> l0 = FXCollections.observableArrayList("A","B","C");
+ ObservableList<String> l1 = FXCollections.observableArrayList("E","F","G");
+ ObservableList<String> l2 = FXCollections.observableArrayList("I","J","K");
+
+ ObservableList<String> concat = FXBindings.concatenatedList(l0, l1, l2);
+
+ AtomicInteger totalEventCount = new AtomicInteger();
+ AtomicInteger changeCount = new AtomicInteger();
+ AtomicBoolean addCount = new AtomicBoolean();
+ AtomicBoolean removeCount = new AtomicBoolean();
+
+ concat.addListener( (Change<? extends String> c) -> {
+ totalEventCount.incrementAndGet();
+ changeCount.set(0);
+ while( c.next() ) {
+ changeCount.incrementAndGet();
+ addCount.set(c.wasAdded());
+ removeCount.set(c.wasRemoved());
+ }
+ });
+
+ l0.add(3, "D");
+ Assert.assertEquals(1, changeCount.get());
+ Assert.assertTrue(addCount.get());
+ Assert.assertFalse(removeCount.get());
+
+ l0.remove("D");
+ Assert.assertEquals(1, changeCount.get());
+ Assert.assertFalse(addCount.get());
+ Assert.assertTrue(removeCount.get());
+
+ l0.addAll(3, Arrays.asList("D", "D2"));
+ Assert.assertEquals(1, changeCount.get());
+ Assert.assertTrue(addCount.get());
+ Assert.assertFalse(removeCount.get());
+
+ l0.removeAll("D","D2");
+ Assert.assertEquals(1, changeCount.get());
+ Assert.assertFalse(addCount.get());
+ Assert.assertTrue(removeCount.get());
+
+ l1.add(3,"H");
+ Assert.assertEquals(1, changeCount.get());
+ Assert.assertTrue(addCount.get());
+ Assert.assertFalse(removeCount.get());
+
+ l1.remove("H");
+ Assert.assertEquals(1, changeCount.get());
+ Assert.assertFalse(addCount.get());
+ Assert.assertTrue(removeCount.get());
+
+ totalEventCount.set(0);
+ l0.setAll("C","B","A");
+ Assert.assertEquals(2, totalEventCount.get()); // TODO Not ideal but currently no better solution
+
+// ObservableList<String> list = FXCollections.observableArrayList("A","B","C");
+// list.addListener( (Change<? extends String> c) -> {
+// while( c.next() ) {
+// System.err.println(c.getAddedSubList());
+// System.err.println(c.getRemoved());
+// }
+// } );
+// list.setAll("B","A","C");
+ }
+
+ @Test
+ public void testMapList() {
+ ObservableList<String> source = FXCollections.observableArrayList("one", "two", "three");
+
+ ListBinding<String> result = FXBindings.mapList(source, s -> s + " apples");
+
+ Assert.assertArrayEquals(new String[] {
+ "one apples",
+ "two apples",
+ "three apples"
+ }, result.toArray());
+
+ source.set(1, "99");
+
+ Assert.assertArrayEquals(new String[] {
+ "one apples",
+ "99 apples",
+ "three apples"
+ }, result.toArray());
+
+ source.add("another");
+
+ Assert.assertArrayEquals(new String[] {
+ "one apples",
+ "99 apples",
+ "three apples",
+ "another apples"
+ }, result.toArray());
+
+ source.remove("one");
+
+ Assert.assertArrayEquals(new String[] {
+ "99 apples",
+ "three apples",
+ "another apples"
+ }, result.toArray());
+ }
+
+ @Test
+ public void testFlatMapList() {
+
+ ObservableList<String> one = FXCollections.observableArrayList("1", "2", "3");
+ ObservableList<String> two = FXCollections.observableArrayList();
+ ObservableList<String> three = FXCollections.observableArrayList("a", "b", "c");
+
+ ObservableList<ObservableList<String>> source = FXCollections.observableArrayList(one, two, three);
+
+ ListBinding<String> flatMap = FXBindings.flatMapList(source, x->x);
+
+ List<Change<? extends String>> curChange = new ArrayList<>();
+ ListChangeListener<String> l = c -> {
+ curChange.add(c);
+ c.next();
+ System.err.println("Removed: " + c.getRemoved());
+ System.err.println("Added: " + c.getAddedSubList());
+ };
+ flatMap.addListener(l);
+
+ Assert.assertArrayEquals(new String[] {
+ "1", "2", "3", "a", "b", "c"
+ }, flatMap.toArray());
+
+ two.add("two");
+
+ Assert.assertArrayEquals(new String[] {
+ "1", "2", "3", "two", "a", "b", "c"
+ }, flatMap.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { }, new String[] { "two" }, 3));
+
+
+ one.set(1, "xx");
+
+ Assert.assertArrayEquals(new String[] {
+ "1", "xx", "3", "two", "a", "b", "c"
+ }, flatMap.toArray());
+ System.err.println(curChange);
+ assertChange(curChange,
+ new RemoveAdd<String>(new String[] {"2"}, new String[]{ }, 1),
+ new RemoveAdd<String>(new String[] { }, new String[] { "xx" }, 1));
+
+
+ three.remove(1);
+
+ Assert.assertArrayEquals(new String[] {
+ "1", "xx", "3", "two", "a", "c"
+ }, flatMap.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { "b" }, new String[] { }, 5));
+
+ source.remove(one);
+
+ Assert.assertArrayEquals(new String[] {
+ "two", "a", "c"
+ }, flatMap.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { "1", "xx", "3" }, new String[] { }, 0));
+
+ one.add("offline");
+
+ Assert.assertArrayEquals(new String[] {
+ "two", "a", "c"
+ }, flatMap.toArray());
+ Assert.assertEquals(0, curChange.size());
+
+ source.add(one);
+
+ Assert.assertArrayEquals(new String[] {
+ "two", "a", "c", "1", "xx", "3", "offline"
+ }, flatMap.toArray());
+ assertChange(curChange, new RemoveAdd<String>(new String[] { }, new String[] { "1", "xx", "3", "offline"}, 3));
+ }
+
+ @Test
+ public void testFlatMapListValue() {
+
+ StringProperty a = new SimpleStringProperty("a");
+ StringProperty b = new SimpleStringProperty("b");
+ StringProperty c = new SimpleStringProperty("c");
+
+ ObservableList<ObservableValue<String>> source = FXCollections.observableArrayList(a, b, c);
+
+ ListBinding<String> flatMap = FXBindings.flatMapListValue(source, x->x);
+
+
+ Assert.assertArrayEquals(new String[] {
+ "a", "b", "c"
+ }, flatMap.toArray());
+
+ source.remove(b);
+
+ Assert.assertArrayEquals(new String[] {
+ "a", "c"
+ }, flatMap.toArray());
+
+ b.set("B");
+
+ Assert.assertArrayEquals(new String[] {
+ "a", "c"
+ }, flatMap.toArray());
+
+ source.add(b);
+
+ Assert.assertArrayEquals(new String[] {
+ "a", "c", "B"
+ }, flatMap.toArray());
+
+ a.set("A");
+
+ Assert.assertArrayEquals(new String[] {
+ "A", "c", "B"
+ }, flatMap.toArray());
+ }
+
+ @Test
+ public void testBindContent() {
+ List<String> target = new ArrayList<>();
+ ObservableList<Integer> sourceList = FXCollections.observableArrayList(1);
+ FXBindings.bindContent(target, sourceList, i -> ""+i);
+ sourceList.remove(0);
+ }
+
+ @Test
+ public void testBindingPaddedContent() {
+ List<String> target = new ArrayList<>();
+ ObservableList<Integer> sourceList = FXCollections.observableArrayList(1,2,3);
+ Subscription binding = FXBindings.bindContent(1, target, sourceList, o -> "Converted " + o, i -> "Pad " + i);
+ Assert.assertEquals(4, target.size());
+ Assert.assertEquals("Pad " + 0, target.get(0));
+ Assert.assertEquals("Converted " + 1, target.get(1));
+ Assert.assertEquals("Converted " + 2, target.get(2));
+ Assert.assertEquals("Converted " + 3, target.get(3));
+
+// binding.setPadding(0);
+// Assert.assertEquals(3, target.size());
+// Assert.assertEquals("Converted " + 1, target.get(0));
+// Assert.assertEquals("Converted " + 2, target.get(1));
+// Assert.assertEquals("Converted " + 3, target.get(2));
+//
+// binding.setPadding(1);
+//
+// Assert.assertEquals(4, target.size());
+// Assert.assertEquals("Pad " + 0, target.get(0));
+// Assert.assertEquals("Converted " + 1, target.get(1));
+// Assert.assertEquals("Converted " + 2, target.get(2));
+// Assert.assertEquals("Converted " + 3, target.get(3));
+//
+// binding.setPadding(2);
+//
+// Assert.assertEquals(5, target.size());
+// Assert.assertEquals("Pad " + 0, target.get(0));
+// Assert.assertEquals("Pad " + 1, target.get(1));
+// Assert.assertEquals("Converted " + 1, target.get(2));
+// Assert.assertEquals("Converted " + 2, target.get(3));
+// Assert.assertEquals("Converted " + 3, target.get(4));
+ }
+
+ @Test
+ public void testBindingPaddedContent_AddRemove() {
+ List<String> target = new ArrayList<>();
+ ObservableList<Integer> sourceList = FXCollections.observableArrayList(1,2,3);
+ Subscription binding = FXBindings.bindContent(1, target, sourceList, o -> "Converted " + o, i -> "Pad " + i);
+ Assert.assertEquals(4, target.size());
+ Assert.assertEquals("Pad " + 0, target.get(0));
+ Assert.assertEquals("Converted " + 1, target.get(1));
+ Assert.assertEquals("Converted " + 2, target.get(2));
+ Assert.assertEquals("Converted " + 3, target.get(3));
+
+ sourceList.add(0,0);
+
+ Assert.assertEquals(5, target.size());
+ Assert.assertEquals("Pad " + 0, target.get(0));
+ Assert.assertEquals("Converted " + 0, target.get(1));
+ Assert.assertEquals("Converted " + 1, target.get(2));
+ Assert.assertEquals("Converted " + 2, target.get(3));
+ Assert.assertEquals("Converted " + 3, target.get(4));
+
+ sourceList.remove(0);
+
+ Assert.assertEquals(4, target.size());
+ Assert.assertEquals("Pad " + 0, target.get(0));
+ Assert.assertEquals("Converted " + 1, target.get(1));
+ Assert.assertEquals("Converted " + 2, target.get(2));
+ Assert.assertEquals("Converted " + 3, target.get(3));
+ }
+
+ @Test
+ public void testBindingPaddedContent_Permutate() {
+ List<String> target = new ArrayList<>();
+ SortedList<Integer> sourceList = FXCollections.observableArrayList(1,2,3).sorted((i1, i2) -> {
+ return Integer.compare(i1, i2) * -1;
+ });
+ Subscription binding = FXBindings.bindContent(1, target, sourceList, o -> "Converted " + o, i -> "Pad " + i);
+
+ Assert.assertEquals(4, target.size());
+ Assert.assertEquals("Pad " + 0, target.get(0));
+ Assert.assertEquals("Converted " + 3, target.get(1));
+ Assert.assertEquals("Converted " + 2, target.get(2));
+ Assert.assertEquals("Converted " + 1, target.get(3));
+
+ sourceList.setComparator( ( i1, i2 ) -> Integer.compare(i1, i2) );
+
+ Assert.assertEquals(4, target.size());
+ Assert.assertEquals("Pad " + 0, target.get(0));
+ Assert.assertEquals("Converted " + 1, target.get(1));
+ Assert.assertEquals("Converted " + 2, target.get(2));
+ Assert.assertEquals("Converted " + 3, target.get(3));
+ }
+
+ @Test
+ public void testBindBidirectional() {
+
+ Property<String> s = new SimpleStringProperty("99");
+ Property<Integer> i = new SimpleObjectProperty<Integer>();
+
+ StatusBinding binding = FXBindings.bindBidirectional(i, s, Integer.class, String.class);
+
+ Assert.assertEquals(99, i.getValue().intValue());
+ Assert.assertEquals(State.OK, binding.getValue().getState());
+
+ s.setValue("100");
+ Assert.assertEquals(100, i.getValue().intValue());
+ Assert.assertEquals(State.OK, binding.getValue().getState());
+
+ s.setValue("abcd");
+ Assert.assertEquals(100, i.getValue().intValue());
+ Assert.assertEquals(State.ERROR, binding.getValue().getState());
+
+ s.setValue("101");
+ Assert.assertEquals(101, i.getValue().intValue());
+ Assert.assertEquals(State.OK, binding.getValue().getState());
+
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.core/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.core/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.core/META-INF/MANIFEST.MF
index 9a9f192..13f7598 100755
--- a/bundles/runtime/org.eclipse.fx.core/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.core/META-INF/MANIFEST.MF
@@ -2,24 +2,26 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.core
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.annotation;resolution:=optional,
javax.inject;version="1.0.0",
org.apache.commons.lang.text;version="2.6.0",
org.osgi.framework;version="1.8.0";resolution:=optional,
- org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
-Export-Package: org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.adapter;version="2.6.0",
- org.eclipse.fx.core.command;version="2.6.0",
- org.eclipse.fx.core.event;version="2.6.0",
- org.eclipse.fx.core.function;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.core.operation;version="2.6.0",
- org.eclipse.fx.core.preferences;version="2.6.0",
- org.eclipse.fx.core.property;version="2.6.0",
- org.eclipse.fx.core.text;version="2.6.0",
- org.eclipse.fx.core.update;version="2.6.0"
+ org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
+ org.osgi.service.event;version="1.3.1";resolution:=optional
+Export-Package: org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.adapter;version="3.0.0",
+ org.eclipse.fx.core.bindings;version="3.0.0",
+ org.eclipse.fx.core.command;version="3.0.0",
+ org.eclipse.fx.core.event;version="3.0.0",
+ org.eclipse.fx.core.function;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.core.operation;version="3.0.0",
+ org.eclipse.fx.core.preferences;version="3.0.0",
+ org.eclipse.fx.core.property;version="3.0.0",
+ org.eclipse.fx.core.text;version="3.0.0",
+ org.eclipse.fx.core.update;version="3.0.0"
Bundle-Vendor: %Bundle-Vendor
Service-Component: OSGI-INF/services/org.eclipse.fx.core.internal.JAXBObjectSerializer.xml,
OSGI-INF/services/org.eclipse.fx.core.internal.JUtilLoggerFactory.xml,
@@ -27,7 +29,17 @@
OSGI-INF/services/org.eclipse.fx.core.internal.FileSystemServiceImpl.xml,
OSGI-INF/services/org.eclipse.fx.core.internal.DefaultValueSerializer.xml,
OSGI-INF/services/org.eclipse.fx.core.internal.DynamicDataStreamHandler.xml,
- OSGI-INF/services/org.eclipse.fx.core.internal.TplURLDynamicDataStreamHandler.xml
+ OSGI-INF/services/org.eclipse.fx.core.internal.TplURLDynamicDataStreamHandler.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.OSGiEventBusImpl.xml
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional,
com.google.guava;bundle-version="15.0.0"
+Service-Component: OSGI-INF/services/org.eclipse.fx.core.internal.JAXBObjectSerializer.xml,
+ OSGI-INF/services/org.eclipse.fx.core.adapter.internal.AdapterServiceImpl.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.JUtilLoggerFactory.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.OSGiEventBusImpl.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.TplURLDynamicDataStreamHandler.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.DefaultValueSerializer.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.FileSystemServiceImpl.xml,
+ OSGI-INF/services/org.eclipse.fx.core.internal.DynamicDataStreamHandler.xml
+Bundle-ActivationPolicy: lazy
diff --git a/bundles/runtime/org.eclipse.fx.core/OSGI-INF/services/org.eclipse.fx.core.internal.OSGiEventBusImpl.xml b/bundles/runtime/org.eclipse.fx.core/OSGI-INF/services/org.eclipse.fx.core.internal.OSGiEventBusImpl.xml
new file mode 100644
index 0000000..9d2b8cd
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/OSGI-INF/services/org.eclipse.fx.core.internal.OSGiEventBusImpl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.core.internal.OSGiEventBusImpl">
+ <service>
+ <provide interface="org.eclipse.fx.core.event.GlobalEventBus"/>
+ </service>
+ <reference bind="registerMessageService" cardinality="1..1" interface="org.osgi.service.event.EventAdmin" name="registerMessageService" policy="static" unbind="unregisterMessageService"/>
+ <implementation class="org.eclipse.fx.core.internal.OSGiEventBusImpl"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/pom.xml b/bundles/runtime/org.eclipse.fx.core/pom.xml
index 9ded689..0dc0bf1 100755
--- a/bundles/runtime/org.eclipse.fx.core/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.core/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ArrayUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ArrayUtils.java
new file mode 100644
index 0000000..6c87897
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ArrayUtils.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+import java.util.function.IntFunction;
+import java.util.function.Supplier;
+
+/**
+ * Utility methods to deal with arrays
+ * @since 3.0
+ */
+public class ArrayUtils {
+ /**
+ * The target array to be filled
+ *
+ * @param array
+ * the array
+ * @param s
+ * the supplier to fetch a value from
+ */
+ public static <T> void fill(T[] array, Supplier<T> s) {
+ for (int i = 0; i < array.length; i++) {
+ array[i] = s.get();
+ }
+ }
+
+ /**
+ * The target array to be filled
+ *
+ * @param array
+ * the array
+ * @param f
+ * the function to apply for each index
+ */
+ public static <T> void fill(T[] array, IntFunction<T> f) {
+ for (int i = 0; i < array.length; i++) {
+ array[i] = f.apply(i);
+ }
+ }
+
+ /**
+ * Show an ASCII art with the informations in the array ( - if cell is null,
+ * x if cell is filled)
+ *
+ * @param array
+ * the array
+ */
+ public static <T> void toString(T[][] array) {
+ System.err.println("---------------"); //$NON-NLS-1$
+ for (int i = 0; i < array.length; i++) {
+ for (int j = 0; j < array[i].length; j++) {
+ System.err.print(array[i][j] == null ? " - " : " x "); //$NON-NLS-1$//$NON-NLS-2$
+ }
+ System.err.println();
+ }
+ System.err.println("---------------"); //$NON-NLS-1$
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ConcurrentUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ConcurrentUtils.java
new file mode 100644
index 0000000..7c19faa
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ConcurrentUtils.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * Utilities to deal with concurrencies
+ */
+public class ConcurrentUtils {
+ /**
+ * Collect the return values of all the futures provided
+ *
+ * @param futures
+ * the futures the result is collected from
+ * @return a future with the collected results
+ */
+ @SafeVarargs
+ public static <T> CompletableFuture<List<T>> collect(CompletableFuture<T>... futures) {
+ return CompletableFuture.allOf(futures)
+ .thenApply(v -> Stream.of(futures).map(f -> f.join()).collect(Collectors.toList()));
+ }
+
+ /**
+ * Collect the return value of all the futures and apply the transformation
+ * method on it
+ *
+ * @param transformer
+ * the transformation to apply
+ * @param futures
+ * the future
+ * @return a future with the collected results
+ */
+ @SafeVarargs
+ public static <T, O> CompletableFuture<List<T>> collect(Function<O, T> transformer,
+ CompletableFuture<O>... futures) {
+ return CompletableFuture.allOf(futures).thenApply(
+ v -> Stream.of(futures).map(f -> f.join()).map(transformer::apply).collect(Collectors.toList()));
+ }
+
+ /**
+ * Collect the returned lists of the the futures and combine them into a
+ * flat list
+ *
+ * @param futures
+ * the futures
+ * @return a future holding the combined list of all future results
+ */
+ @SafeVarargs
+ public static <T> CompletableFuture<List<T>> collectLists(CompletableFuture<List<T>>... futures) {
+ return CompletableFuture.allOf(futures)
+ .thenApply(v -> Stream.of(futures).flatMap(f -> f.join().stream()).collect(Collectors.toList()));
+ }
+
+ /**
+ * Collect the returned lists of the the futures and combine them into a
+ * flat list and transform the entries
+ *
+ * @param transformer
+ * the transformer
+ * @param futures
+ * the futures
+ * @return a future holding the combined and transformed list
+ */
+ @SafeVarargs
+ public static <T, O> CompletableFuture<List<T>> collectLists(Function<O, T> transformer,
+ CompletableFuture<List<O>>... futures) {
+ return CompletableFuture.allOf(futures).thenApply(v -> Stream.of(futures).flatMap(f -> f.join().stream())
+ .map(transformer::apply).collect(Collectors.toList()));
+ }
+
+ /**
+ * Collect the result by transforming the stream of feature results into a
+ * final result of all futures
+ *
+ * @param streamTransformer the transformer
+ * @param futures the futures
+ * @return a future hold the collection of all futures
+ */
+ @SafeVarargs
+ public static <T, O> CompletableFuture<List<T>> collectWithStream(Function<Stream<O>, Stream<T>> streamTransformer,
+ CompletableFuture<O>... futures) {
+ return CompletableFuture.allOf(futures).thenApply(
+ v -> streamTransformer.apply(Stream.of(futures).map(f -> f.join())).collect(Collectors.toList()));
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/IOUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/IOUtils.java
new file mode 100644
index 0000000..ed24367
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/IOUtils.java
@@ -0,0 +1,203 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Optional;
+import java.util.stream.Collectors;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import org.eclipse.fx.core.function.ExExecutor;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * Utilities for IO operations
+ *
+ * @since 3.0
+ */
+public class IOUtils {
+ /**
+ * Read the input stream into a string
+ *
+ * @param in
+ * the stream
+ * @param charset
+ * the charset to be used
+ * @return the string
+ */
+ public static String readToString(InputStream in, Charset charset) {
+ return readToString(in, 1024, charset);
+ }
+
+ /**
+ * Read the input stream into a string
+ *
+ * @param in
+ * the stream
+ * @param bufferLength
+ * the buffer length
+ * @param charset
+ * the charset
+ * @return the string
+ */
+ public static String readToString(InputStream in, int bufferLength, Charset charset) {
+ StringBuilder b = new StringBuilder();
+ char[] buf = new char[bufferLength];
+ InputStreamReader r = new InputStreamReader(in, charset);
+ int l;
+ try {
+ while ((l = r.read(buf, 0, bufferLength)) != -1) {
+ b.append(buf, 0, l);
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+
+ return b.toString();
+ }
+
+ /**
+ * Copy the complete input stream to an output stream
+ *
+ * @param sourceStream
+ * the source stream
+ * @param targetStream
+ * the output stream
+ * @throws IOException
+ * if something is going wrong
+ */
+ public static void copyToStream(InputStream sourceStream, OutputStream targetStream) throws IOException {
+ byte[] buf = new byte[1024];
+ int l;
+ while ((l = sourceStream.read(buf)) != -1) {
+ targetStream.write(buf, 0, l);
+ }
+ }
+
+ /**
+ * Zip up a complete directory with all the sub directories
+ *
+ * @param dir
+ * the directory to zip
+ * @param zipFile
+ * the zip file or <code>null</code> if you want a temporary zip
+ * file to be created
+ * @return the directory
+ * @throws IOException
+ * if somethings going wrong
+ * @since 2.3.0
+ */
+ @SuppressWarnings("null")
+ public static @NonNull Path zipDirectory(@NonNull Path dir, @Nullable Path zipFile) throws IOException {
+ Path target = zipFile;
+ if (target == null) {
+ target = Files.createTempFile("generated-zip", ".zip"); //$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ try (ZipOutputStream out = new ZipOutputStream(Files.newOutputStream(target))) {
+ for (Path c : Files.list(dir).collect(Collectors.toList())) {
+ if (!c.equals(target)) {
+ addEntry(out, dir, c);
+ }
+ }
+
+ out.close();
+ }
+
+ return target;
+ }
+
+ /**
+ * Read the content for the given path
+ *
+ * @param path
+ * the path
+ * @return the content
+ * @throws IOException
+ * if an I/O error occurs
+ * @since 2.0
+ */
+ public static String slurpFileContent(Path path) throws IOException {
+ byte[] buf = new byte[(int) Files.size(path)];
+
+ try (InputStream in = Files.newInputStream(path)) {
+ in.read(buf);
+ return new String(buf);
+ }
+ }
+
+ /**
+ * Convert an URL to a path on the local filesystem
+ *
+ * @param url
+ * the url
+ * @param copyIfNeeded
+ * <code>true</code> if the url can not be converted to a local
+ * the content is copied to the local filesystem
+ * @return the path
+ * @since 2.2.0
+ */
+ public static Optional<Resource<@NonNull Path>> getLocalPath(@NonNull URL url, boolean copyIfNeeded) {
+ return ServiceUtils.getServiceList(URLResolver.class).stream().filter(r -> r.test(url)).findFirst().map(r -> Optional.of(Resource.createResource(r.resolveToLocalPath(url)))).orElseGet(() -> copyIfNeeded ? ExExecutor.executeSupplier(() -> copyToTempFile(url), "Unable to copy resource") //$NON-NLS-1$
+ : Optional.empty());
+ }
+
+ /**
+ * Convert an URL to a path on the local filesystem
+ *
+ * @param url
+ * the url
+ * @return the path
+ * @since 2.2.0
+ */
+ public static Optional<URL> getLocalURL(@NonNull URL url) {
+ return ServiceUtils.getServiceList(URLResolver.class).stream().filter(r -> r.test(url)).findFirst().map(r -> r.resolveToLocalURL(url));
+ }
+
+ private static Resource<@NonNull Path> copyToTempFile(@NonNull URL url) throws IOException {
+ Path path = Files.createTempFile("tmp", Paths.get(url.getPath()).getFileName().toString()); //$NON-NLS-1$
+
+ try (InputStream stream = url.openStream()) {
+ Files.copy(stream, path);
+ }
+
+ if (path == null) {
+ return null;
+ }
+
+ return Resource.createTempResource(path);
+ }
+
+ private static void addEntry(ZipOutputStream out, Path rootPath, Path p) throws IOException {
+ if (Files.isDirectory(p)) {
+ for (Path c : Files.list(p).collect(Collectors.toList())) {
+ addEntry(out, rootPath, c);
+ }
+ } else {
+ ZipEntry e = new ZipEntry(rootPath.relativize(p).toString());
+ out.putNextEntry(e);
+ try (InputStream s = Files.newInputStream(p)) {
+ copyToStream(s, out);
+ }
+ out.closeEntry();
+ }
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/NumberUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/NumberUtils.java
new file mode 100644
index 0000000..4047e87
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/NumberUtils.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+/**
+ * Utilities to deal with numbers
+ *
+ * @since 3.0
+ */
+public class NumberUtils {
+ /**
+ * Constraint the given value to the upper and lower bound
+ *
+ * @param v
+ * the value to constraint
+ * @param min
+ * the lower bound (only values >= 0 are applied)
+ * @param max
+ * the upper bound (only values >= 0 are applied)
+ * @return the value
+ * @since 2.2.0
+ */
+ public static double unsignedConstraintValue(double v, double min, double max) {
+ double rv = v;
+ if (min >= 0) {
+ rv = Math.max(rv, min);
+ }
+
+ if (max >= 0) {
+ rv = Math.min(rv, max);
+ }
+ return rv;
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/OSGiUtil.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/OSGiUtil.java
index 7489ce7..5ba937b 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/OSGiUtil.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/OSGiUtil.java
@@ -12,7 +12,9 @@
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -61,7 +63,7 @@
}
}
- Bundle b = FrameworkUtil.getBundle(Util.class);
+ Bundle b = FrameworkUtil.getBundle(OSGiUtil.class);
BundleContext ctx = null;
if (b != null) {
@@ -106,4 +108,67 @@
return -1 * Integer.compare(i1, i2);
}
}
+
+ public static <S> List<org.eclipse.fx.core.ServiceUtils.ServiceReference<S>> lookupServiceReferenceList(Class<?> requestor, Class<S> serviceClass) {
+ List<Class<?>> cl = new ArrayList<>();
+ if (requestor != null) {
+ cl.add(requestor);
+ }
+ cl.add(serviceClass);
+ BundleContext ctx = getContext(cl);
+
+ try {
+ @SuppressWarnings("unchecked")
+ ServiceReference<S>[] serviceReferences = (ServiceReference<S>[]) ctx
+ .getServiceReferences(serviceClass.getName(), null);
+ if (serviceReferences == null) {
+ return Collections.emptyList();
+ }
+ List<org.eclipse.fx.core.ServiceUtils.ServiceReference<S>> list = Stream.of(serviceReferences).map(r -> new ServiceReferenceImpl<>(r, ctx)).sorted()
+ .collect(Collectors.toList());
+ Collections.reverse(list);
+ return list;
+ } catch (InvalidSyntaxException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ static class ServiceReferenceImpl<S> implements org.eclipse.fx.core.ServiceUtils.ServiceReference<S> {
+ private final ServiceReference<S> ref;
+ private final BundleContext ctx;
+ private S serviceInstance;
+ private KeyValueStore<String, Object> properties;
+
+ public ServiceReferenceImpl(ServiceReference<S> ref, BundleContext ctx) {
+ this.ref = ref;
+ this.ctx = ctx;
+ }
+
+ @Override
+ public S get() {
+ if( this.serviceInstance == null ) {
+ this.serviceInstance = this.ctx.getService(this.ref);
+ }
+ return this.serviceInstance;
+ }
+
+ @Override
+ public int getRanking() {
+ Object ranking = this.ref.getProperty("service.ranking"); //$NON-NLS-1$
+ return ranking == null ? 0 : ranking instanceof Integer ? ((Integer)ranking).intValue() : Integer.parseInt(ranking.toString());
+ }
+
+ @Override
+ public KeyValueStore<String, Object> getProperties() {
+ // TODO create the KeyValueStore lazy
+ if( this.properties == null ) {
+ Map<String, Object> p = new HashMap<String, Object>();
+ for( String s : this.ref.getPropertyKeys() ) {
+ p.put(s, this.ref.getProperty(s));
+ }
+ this.properties = KeyValueStore.fromMap(p);
+ }
+ return this.properties;
+ }
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ReflectionUtil.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ReflectionUtil.java
index afeb92b..4874593 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ReflectionUtil.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ReflectionUtil.java
@@ -7,10 +7,15 @@
*
* Contributors:
* Christoph Keimel <c.keimel@emsw.de> - initial API and implementation
+ * Tom Schindl <tom.schindl@bestsolution.at> - various improvements
*******************************************************************************/
package org.eclipse.fx.core;
import java.lang.reflect.Field;
+import java.security.CodeSource;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
/**
* Utility Functions using the Java Reflection API
@@ -39,7 +44,7 @@
}
return field;
}
-
+
/**
* Utility method to set a field to a value. If the field is not accessible, it will be set to be accessible.
* @param object Instance in which the value should be set
@@ -56,7 +61,7 @@
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
throw new RuntimeException("Could not set field value: " + object.getClass().getSimpleName() + "." + name, e); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
}
/**
@@ -77,4 +82,26 @@
}
}
+ /**
+ * Get a better description of a class (eg. what OSGi-Bundle, Jar, Java9 Module, ... it is found in)
+ * @param cl the clazz
+ * @return description
+ */
+ public static String describeClass(Class<?> cl) {
+ if (SystemUtils.isOsgiEnv()) {
+ Bundle b = FrameworkUtil.getBundle(cl);
+ if (b != null) {
+ return b.getSymbolicName() + ":" + b.getVersion() + ":" + cl.getName(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ CodeSource clazzCS = cl.getProtectionDomain().getCodeSource();
+ if (clazzCS != null) {
+ return clazzCS.getLocation() + ">" + cl.getName(); //$NON-NLS-1$
+ }
+ if (cl.getClassLoader() == null) {
+ return cl.getName() + " [via bootstrap classloader]"; //$NON-NLS-1$
+ }
+ return cl.getName();
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Resource.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Resource.java
index f1bb375..ef2f66d 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Resource.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Resource.java
@@ -55,7 +55,7 @@
try {
return Files.deleteIfExists(path);
} catch (IOException e) {
- LoggerCreator.createLogger(Util.class).error("Unable to delete path '" + path + "'", e); //$NON-NLS-1$//$NON-NLS-2$
+ LoggerCreator.createLogger(Resource.class).error("Unable to delete path '" + path + "'", e); //$NON-NLS-1$//$NON-NLS-2$
}
return false;
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ServiceUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ServiceUtils.java
new file mode 100644
index 0000000..cdd7a8a
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ServiceUtils.java
@@ -0,0 +1,238 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+
+import org.eclipse.fx.core.internal.JavaDSServiceProcessor;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * Utilities to look up OSGi-Declarative services in and outside OSGi
+ *
+ * @since 3.0
+ */
+public class ServiceUtils {
+ static <S> @Nullable S _lookupService(@Nullable Class<?> requestor, @NonNull Class<S> serviceClass) {
+ List<@NonNull S> _lookupServiceList = _lookupServiceList(requestor, serviceClass);
+ if (!_lookupServiceList.isEmpty()) {
+ return _lookupServiceList.get(0);
+ }
+ return null;
+ }
+
+ static <S> @Nullable S _lookupService(@Nullable Class<?> requestor, @NonNull String serviceClass) {
+ List<@NonNull S> _lookupServiceList = _lookupServiceList(requestor, serviceClass);
+ if (!_lookupServiceList.isEmpty()) {
+ return _lookupServiceList.get(0);
+ }
+ return null;
+ }
+
+ static <S> @NonNull List<@NonNull S> _lookupServiceList(@Nullable Class<?> requestor,
+ @NonNull Class<S> serviceClass) {
+ if (SystemUtils.isOsgiEnv()) {
+ return OSGiUtil.lookupServiceList(requestor, serviceClass);
+ } else {
+ return JavaDSServiceProcessor.lookupServiceList(requestor, serviceClass);
+ }
+ }
+
+ @SuppressWarnings("null")
+ static <S> @NonNull List<@NonNull S> _lookupServiceList(@Nullable Class<?> requestor,
+ @NonNull String serviceClass) {
+ if (SystemUtils.isOsgiEnv()) {
+ // return OSGiUtil.lookupServiceList(requestor, serviceClass);
+ return Collections.emptyList();
+ } else {
+ return JavaDSServiceProcessor.lookupServiceList(requestor, serviceClass);
+ }
+ }
+
+ /**
+ * Lookup the service with the given type
+ *
+ * @param serviceClass
+ * the service class type
+ * @return the service with the highest rank as an optional
+ * @since 2.2.0
+ */
+ @SuppressWarnings("null")
+ public static <S> @NonNull Optional<S> getService(@NonNull Class<S> serviceClass) {
+ @Nullable
+ S v = _lookupService(null, serviceClass);
+ if (v == null) {
+ return Optional.empty();
+ } else {
+ return Optional.of(v);
+ }
+ }
+
+ /**
+ * Look up the service with the given type
+ *
+ * @param requestor
+ * the class requesting the service
+ *
+ * @param serviceClass
+ * the service class type
+ * @return the service with the highest rank or <code>null</code>
+ * @since 2.2.0
+ */
+ @SuppressWarnings("null")
+ public static <S> @NonNull Optional<S> getService(@NonNull Class<?> requestor, @NonNull Class<S> serviceClass) {
+ @Nullable
+ S v = _lookupService(requestor, serviceClass);
+ if (v == null) {
+ return Optional.empty();
+ } else {
+ return Optional.of(v);
+ }
+ }
+
+ /**
+ * Look up all service with the given type
+ *
+ * @param requestor
+ * the class requesting the service
+ *
+ * @param serviceClass
+ * the service class type
+ * @return the service with the highest rank or <code>null</code>
+ * @since 1.2
+ */
+ public static <S> @NonNull List<@NonNull S> getServiceList(@NonNull Class<?> requestor,
+ @NonNull Class<S> serviceClass) {
+ return _lookupServiceList(requestor, serviceClass);
+ }
+
+ /**
+ * Look up all service with the given type
+ *
+ * @param serviceClass
+ * the service class type
+ * @return the service with the highest rank or <code>null</code>
+ * @since 1.2
+ */
+ public static <S> @NonNull List<@NonNull S> getServiceList(@NonNull Class<S> serviceClass) {
+ return _lookupServiceList(null, serviceClass);
+ }
+
+ /**
+ * Look up the highest ranked service reference for the provided type
+ *
+ * @param clazz
+ * the service class type
+ * @return the service reference with the highest rank as an optional
+ */
+ public static <S> Optional<ServiceReference<S>> getServiceReference(Class<S> clazz) {
+ List<ServiceReference<S>> list = getServiceReferenceList(clazz);
+ if (list.isEmpty()) {
+ return Optional.empty();
+ }
+ return Optional.of(list.get(0));
+ }
+
+ /**
+ * Look up the highest ranked service reference for the provided type
+ *
+ * @param requestor
+ * the requestor
+ *
+ * @param clazz
+ * the service class type
+ * @return the service reference with the highest rank as an optional
+ */
+ public static <S> Optional<ServiceReference<S>> getServiceReference(Class<?> requestor, Class<S> clazz) {
+ List<ServiceReference<S>> list = getServiceReferenceList(requestor, clazz);
+ if (list.isEmpty()) {
+ return Optional.empty();
+ }
+ return Optional.of(list.get(0));
+ }
+
+ /**
+ * Look up all service references for the provided type
+ *
+ * @param clazz
+ * the service class type
+ * @return list of service references
+ */
+ public static <S> List<ServiceReference<S>> getServiceReferenceList(Class<S> clazz) {
+ if (SystemUtils.isOsgiEnv()) {
+ return OSGiUtil.lookupServiceReferenceList(null, clazz);
+ } else {
+ return JavaDSServiceProcessor.lookupServiceReferenceList(null, clazz);
+ }
+ }
+
+ /**
+ * Look up all service references for the provided type
+ *
+ * @param requestor
+ * the requestor
+ *
+ * @param clazz
+ * the service class type
+ * @return list of service references
+ */
+ public static <S> List<ServiceReference<S>> getServiceReferenceList(Class<?> requestor, Class<S> clazz) {
+ if (SystemUtils.isOsgiEnv()) {
+ return OSGiUtil.lookupServiceReferenceList(requestor, clazz);
+ } else {
+ return JavaDSServiceProcessor.lookupServiceReferenceList(null, clazz);
+ }
+ }
+
+ /**
+ * Look up the service by its FQN-String name
+ *
+ * @param serviceClass
+ * the FQN service class name
+ * @return the highest ranked service as an optional
+ */
+ public static <S> Optional<S> getService(@NonNull String serviceClass) {
+ @SuppressWarnings("null")
+ S rv = _lookupService(null, serviceClass);
+ return rv == null ? Optional.empty() : Optional.of(rv);
+ }
+
+ /**
+ * A service reference
+ *
+ * @param <S>
+ * the service type
+ */
+ public interface ServiceReference<S> extends Comparable<ServiceReference<S>> {
+ /**
+ * @return the service instance
+ */
+ public S get();
+
+ /**
+ * @return the ranking of the service
+ */
+ public int getRanking();
+
+ /**
+ * @return the properties
+ */
+ public KeyValueStore<String, Object> getProperties();
+
+ @Override
+ default int compareTo(ServiceReference<S> o) {
+ return Integer.compare(getRanking(), o.getRanking());
+ }
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SimpleURI.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SimpleURI.java
index fe89d6d..a4ea08b 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SimpleURI.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SimpleURI.java
@@ -18,7 +18,6 @@
*
*/
class SimpleURI implements URI {
- @SuppressWarnings("null")
@NonNull
private String[] segments = new String[0];
@@ -27,7 +26,7 @@
@NonNull
private String uri;
-
+
@Nullable
private String host = null;
@@ -50,7 +49,7 @@
if (schemeEnd != -1) {
_uri = _uri.substring(schemeEnd + 1);
}
-
+
int queryStart = _uri.indexOf('?');
if (queryStart != -1) {
@@ -61,7 +60,7 @@
if( _uri.startsWith("//") ) { //$NON-NLS-1$
String[] vals = _uri.substring(2).split("/"); //$NON-NLS-1$
if( vals.length > 0 ) {
- this.segments = new String[vals.length-1];
+ this.segments = new String[vals.length-1];
for( int i = 1; i < vals.length; i++ ) {
this.segments[i-1] = vals[i];
}
@@ -71,7 +70,7 @@
this.segments = _uri.substring(1).split("/"); //$NON-NLS-1$
}
}
-
+
@Override
public String host() {
return this.host;
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Status.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Status.java
index 4c33e73..afdf761 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Status.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Status.java
@@ -64,6 +64,19 @@
}
/**
+ * Create a new value status with {@link State#OK}
+ *
+ * @param value
+ * the value
+ * @return a status
+ * @since 3.0
+ */
+ @NonNull
+ public static <@Nullable O> ValueStatus<O> ok(O value) {
+ return status(value, State.OK, 0, "", null); //$NON-NLS-1$
+ }
+
+ /**
* Create a new status object
*
* @param state
@@ -98,8 +111,7 @@
* @return the new status instance
*/
@NonNull
- public static <@Nullable O> ValueStatus<O> status(@Nullable O value, @NonNull State state, int code,
- @NonNull String message, @Nullable Throwable t) {
+ public static <@Nullable O> ValueStatus<O> status(@Nullable O value, @NonNull State state, int code, @NonNull String message, @Nullable Throwable t) {
return new ValueStatusImpl<O>(value, state, code, message, t);
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/StreamUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/StreamUtils.java
new file mode 100644
index 0000000..735a776
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/StreamUtils.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+import java.util.stream.Stream;
+
+/**
+ * Utilities when working with {@link Stream}
+ */
+public class StreamUtils {
+ /**
+ * Helper method allowing to insert temporary debug information in an
+ * {@link Stream} mapping
+ *
+ * @param data
+ * the data
+ * @return the data
+ * @since 2.2.0
+ */
+ public static <T> T debugStderr(T data) {
+ System.err.println(data);
+ return data;
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SystemUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SystemUtils.java
new file mode 100644
index 0000000..63f9740
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/SystemUtils.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+/**
+ * System utilities
+ *
+ * @since 3.0
+ */
+public class SystemUtils {
+ private static Boolean isOSGi;
+
+ /**
+ * @return <code>true</code> if we are on JavaFX 2
+ */
+ public static boolean isFX2() {
+ return System.getProperty("javafx.version") != null && System.getProperty("javafx.version").startsWith("2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+
+ /**
+ * @return <code>true</code> if we are on JavaFX 9
+ * @since 2.2.0
+ */
+ public static boolean isFX9() {
+ return System.getProperty("javafx.version") != null && System.getProperty("javafx.version").startsWith("9"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ }
+
+ /**
+ * @return <code>true</code> if we are on JavaFX 8
+ * @since 2.2.0
+ */
+ public static boolean isFX8() {
+ return System.getProperty("javafx.version") != null && System.getProperty("javafx.version").startsWith("8"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ }
+
+ /**
+ * @return <code>true</code> if running on OSGi
+ */
+ public static boolean isOsgiEnv() {
+ if (isOSGi == null) {
+ isOSGi = Boolean.FALSE;
+ try {
+ Class.forName("org.osgi.framework.FrameworkUtil"); //$NON-NLS-1$
+ if (org.osgi.framework.FrameworkUtil.getBundle(SystemUtils.class) != null) {
+ isOSGi = Boolean.TRUE;
+ }
+ } catch (Throwable e) {
+ // nothing
+ }
+ }
+ return isOSGi.booleanValue();
+ }
+
+ /**
+ * @return <code>true</code> if running on OS-X
+ * @since 2.2.0
+ */
+ public static boolean isMacOS() {
+ return "Mac OS X".equals(System.getProperty("os.name")); //$NON-NLS-1$//$NON-NLS-2$
+ }
+
+ /**
+ * @return <code>true</code> if running on windows
+ * @since 2.2.0
+ */
+ public static boolean isWindows() {
+ return System.getProperty("os.name").toLowerCase().contains("windows"); //$NON-NLS-1$//$NON-NLS-2$
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ThreadSynchronize.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ThreadSynchronize.java
index fdd044e..fca7e1d 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ThreadSynchronize.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/ThreadSynchronize.java
@@ -175,6 +175,56 @@
}
/**
+ * Schedule a delayed execution on the provided list of properties.
+ *
+ * @param delay
+ * the delay
+ * @param consumer
+ * the consumer receiving the values of the properties
+ * @param properties
+ * the list of properties
+ * @return the subscription
+ * @since 3.0
+ */
+ default <T> Subscription delayedChangeExecution(long delay, Consumer<List<T>> consumer, @SuppressWarnings("unchecked") Property<T>... properties) {
+ Runnable r = () -> {
+ List<T> l = new ArrayList<>();
+ for (Property<T> p : properties) {
+ l.add(p.getValue());
+ }
+ consumer.accept(l);
+ };
+
+ ChangeListener<T> l = new ChangeListener<T>() {
+ private Subscription currentSubscription;
+
+ @Override
+ public void changed(ObservableValue<? extends T> observable, T oldValue, T newValue) {
+ if (this.currentSubscription != null) {
+ this.currentSubscription.dispose();
+ }
+ this.currentSubscription = scheduleExecution(delay, () -> {
+ r.run();
+ this.currentSubscription = null;
+ });
+ }
+ };
+ for (Property<T> p : properties) {
+ p.addListener(l);
+ }
+
+ return new Subscription() {
+
+ @Override
+ public void dispose() {
+ for (Property<T> p : properties) {
+ p.removeListener(l);
+ }
+ }
+ };
+ }
+
+ /**
* Wraps a runnable so that it is called on the UI thread.
* <p>
* This is handy if you pass a {@link Runnable} as callback into some async
@@ -250,17 +300,16 @@
// public <O> void schedule(int priority, O value, Consumer<O> consumer);
// }
-//TODO Make API in 3.0
-// /**
-// * Block the UI-Thread in a way that events are still processed until the
-// * given condition is released
-// *
-// * @param blockCondition
-// * the condition
-// * @return the value
-// */
-// <T> @Nullable T block(@NonNull BlockCondition<T> blockCondition);
-
+ // TODO Make API in 3.0
+ // /**
+ // * Block the UI-Thread in a way that events are still processed until the
+ // * given condition is released
+ // *
+ // * @param blockCondition
+ // * the condition
+ // * @return the value
+ // */
+ // <T> @Nullable T block(@NonNull BlockCondition<T> blockCondition);
/**
* A block condition
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Tuple.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Tuple.java
index 3afa4ef..fcd3a99 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Tuple.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Tuple.java
@@ -41,4 +41,35 @@
this.value1 = value1;
this.value2 = value2;
}
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((this.value1 == null) ? 0 : this.value1.hashCode());
+ result = prime * result + ((this.value2 == null) ? 0 : this.value2.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Tuple<?,?> other = (Tuple<?,?>) obj;
+ if (this.value1 == null) {
+ if (other.value1 != null)
+ return false;
+ } else if (!this.value1.equals(other.value1))
+ return false;
+ if (this.value2 == null) {
+ if (other.value2 != null)
+ return false;
+ } else if (!this.value2.equals(other.value2))
+ return false;
+ return true;
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/URLUtils.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/URLUtils.java
new file mode 100644
index 0000000..6a10bd6
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/URLUtils.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Optional;
+
+import org.eclipse.fx.core.log.LoggerCreator;
+
+/**
+ * Utilties when working with {@link URL}
+ */
+public class URLUtils {
+ /**
+ * Create a new URL instance from the provide value
+ *
+ * @param url
+ * the url
+ * @return the url instance
+ * @throws IllegalArgumentException
+ * if something wrong with the URL provided
+ * @since 2.3.0
+ */
+ public static URL createUrl(String url) {
+ try {
+ return new URL(url);
+ } catch (MalformedURLException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ /**
+ * Create a new URL instance who provides an optional of the creation fails
+ *
+ * @param url
+ * the url
+ * @param log
+ * <code>true</code> if you want the exception to be logged
+ * @return the url wrapped in an optional
+ * @since 2.4.0
+ */
+ public static Optional<URL> createUrl(String url, boolean log) {
+ try {
+ return Optional.of(new URL(url));
+ } catch (Throwable e) {
+ if (log) {
+ LoggerCreator.createLogger(URLUtils.class).error("Failed to create url from '" + url + "'", e); //$NON-NLS-1$//$NON-NLS-2$
+ }
+ return Optional.empty();
+ }
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Util.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Util.java
index 207304c..cc26dd2 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Util.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/Util.java
@@ -12,53 +12,51 @@
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.io.OutputStream;
-import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
-import java.nio.file.Files;
import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Arrays;
import java.util.List;
import java.util.Optional;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-import org.eclipse.fx.core.function.ExExecutor;
-import org.eclipse.fx.core.internal.JavaDSServiceProcessor;
-import org.eclipse.fx.core.log.LoggerCreator;
+import org.eclipse.fx.core.text.TextUtil;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
/**
* Class with static utility methods
+ * @deprecated use specific *Util classes (see methods for references)
*/
+@Deprecated
public class Util {
/**
* @return <code>true</code> if we are on JavaFX 2
+ * @deprecated use {@link SystemUtils#isFX2()}
*/
+ @Deprecated
public static boolean isFX2() {
- return System.getProperty("javafx.version") != null && System.getProperty("javafx.version").startsWith("2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return SystemUtils.isFX2();
}
/**
* @return <code>true</code> if we are on JavaFX 9
* @since 2.2.0
+ * @deprecated use {@link SystemUtils#isFX9()}
*/
+ @Deprecated
public static boolean isFX9() {
- return System.getProperty("javafx.version") != null && System.getProperty("javafx.version").startsWith("9"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ return SystemUtils.isFX9();
}
/**
* @return <code>true</code> if we are on JavaFX 8
* @since 2.2.0
+ * @deprecated use {@link SystemUtils#isFX8()}
*/
+ @Deprecated
public static boolean isFX8() {
- return System.getProperty("javafx.version") != null && System.getProperty("javafx.version").startsWith("8"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ return SystemUtils.isFX8();
}
/**
@@ -70,46 +68,21 @@
* the default if the value is null
* @return a nonnull string
* @since 2.0
+ * @deprecated use {@link TextUtil#notNull(String, String)}
*/
+ @Deprecated
@NonNull
public static String notNull(@Nullable String value, @NonNull String defaultValue) {
- return value == null ? defaultValue : value;
+ return TextUtil.notNull(value, defaultValue);
}
- private static Boolean isOSGi;
-
/**
* @return <code>true</code> if running on OSGi
+ * @deprecated use {@link SystemUtils#isOsgiEnv()}
*/
+ @Deprecated
public static boolean isOsgiEnv() {
- if (isOSGi == null) {
- isOSGi = Boolean.FALSE;
- try {
- Class.forName("org.osgi.framework.FrameworkUtil"); //$NON-NLS-1$
- if (org.osgi.framework.FrameworkUtil.getBundle(Util.class) != null) {
- isOSGi = Boolean.TRUE;
- }
- } catch (Throwable e) {
- // nothing
- }
- }
- return isOSGi.booleanValue();
- }
-
- private static <S> @Nullable S _lookupService(@Nullable Class<?> requestor, @NonNull Class<S> serviceClass) {
- List<@NonNull S> _lookupServiceList = _lookupServiceList(requestor, serviceClass);
- if (!_lookupServiceList.isEmpty()) {
- return _lookupServiceList.get(0);
- }
- return null;
- }
-
- private static <S> @NonNull List<@NonNull S> _lookupServiceList(@Nullable Class<?> requestor, @NonNull Class<S> serviceClass) {
- if (isOsgiEnv()) {
- return OSGiUtil.lookupServiceList(requestor, serviceClass);
- } else {
- return JavaDSServiceProcessor.lookupServiceList(requestor, serviceClass);
- }
+ return SystemUtils.isOsgiEnv();
}
/**
@@ -122,9 +95,11 @@
* the service class type
* @return the service with the highest rank or <code>null</code>
* @since 1.2
+ * @deprecated use {@link ServiceUtils#getService(Class, Class)}
*/
+ @Deprecated
public static <S> @Nullable S lookupService(@NonNull Class<?> requestor, @NonNull Class<S> serviceClass) {
- return _lookupService(requestor, serviceClass);
+ return ServiceUtils._lookupService(requestor, serviceClass);
}
/**
@@ -134,9 +109,11 @@
* the service class type
* @return the service with the highest rank or <code>null</code>
* @since 1.2
+ * @deprecated use {@link ServiceUtils#getService(Class)}
*/
+ @Deprecated
public static <S> @Nullable S lookupService(@NonNull Class<S> serviceClass) {
- return _lookupService(null, serviceClass);
+ return ServiceUtils._lookupService(null,serviceClass);
}
/**
@@ -146,16 +123,11 @@
* the service class type
* @return the service with the highest rank as an optional
* @since 2.2.0
+ * @deprecated use {@link ServiceUtils#getService(Class)}
*/
- @SuppressWarnings("null")
+ @Deprecated
public static <S> @NonNull Optional<S> getService(@NonNull Class<S> serviceClass) {
- @Nullable
- S v = _lookupService(null, serviceClass);
- if (v == null) {
- return Optional.empty();
- } else {
- return Optional.of(v);
- }
+ return ServiceUtils.getService(serviceClass);
}
/**
@@ -168,16 +140,11 @@
* the service class type
* @return the service with the highest rank or <code>null</code>
* @since 2.2.0
+ * @deprecated use {@link ServiceUtils#getService(Class, Class)}
*/
- @SuppressWarnings("null")
+ @Deprecated
public static <S> @NonNull Optional<S> getService(@NonNull Class<?> requestor, @NonNull Class<S> serviceClass) {
- @Nullable
- S v = _lookupService(requestor, serviceClass);
- if (v == null) {
- return Optional.empty();
- } else {
- return Optional.of(v);
- }
+ return ServiceUtils.getService(requestor, serviceClass);
}
/**
@@ -190,9 +157,11 @@
* the service class type
* @return the service with the highest rank or <code>null</code>
* @since 1.2
+ * @deprecated use {@link ServiceUtils#getServiceList(Class, Class)}
*/
+ @Deprecated
public static <S> @NonNull List<@NonNull S> lookupServiceList(@NonNull Class<?> requestor, @NonNull Class<S> serviceClass) {
- return _lookupServiceList(requestor, serviceClass);
+ return ServiceUtils.getServiceList(requestor, serviceClass);
}
/**
@@ -202,9 +171,11 @@
* the service class type
* @return the service with the highest rank or <code>null</code>
* @since 1.2
+ * @deprecated use {@link ServiceUtils#getServiceList(Class)}
*/
+ @Deprecated
public static <S> @NonNull List<@NonNull S> lookupServiceList(@NonNull Class<S> serviceClass) {
- return _lookupServiceList(null, serviceClass);
+ return ServiceUtils.getServiceList(serviceClass);
}
/**
@@ -216,14 +187,11 @@
* @throws IOException
* if an I/O error occurs
* @since 2.0
+ * @deprecated use {@link IOUtils#slurpFileContent(Path)}
*/
+ @Deprecated
public static String slurpFileContent(Path path) throws IOException {
- byte[] buf = new byte[(int) Files.size(path)];
-
- try (InputStream in = Files.newInputStream(path)) {
- in.read(buf);
- return new String(buf);
- }
+ return IOUtils.slurpFileContent(path);
}
/**
@@ -234,9 +202,11 @@
* @param charset
* the charset to be used
* @return the string
+ * @deprecated use {@link IOUtils#readToString(InputStream, Charset)}
*/
+ @Deprecated
public static String readToString(InputStream in, Charset charset) {
- return readToString(in, 1024, charset);
+ return IOUtils.readToString(in, charset);
}
/**
@@ -249,21 +219,11 @@
* @param charset
* the charset
* @return the string
+ * @deprecated use {@link IOUtils#readToString(InputStream, int, Charset)}
*/
+ @Deprecated
public static String readToString(InputStream in, int bufferLength, Charset charset) {
- StringBuilder b = new StringBuilder();
- char[] buf = new char[bufferLength];
- InputStreamReader r = new InputStreamReader(in, charset);
- int l;
- try {
- while ((l = r.read(buf, 0, bufferLength)) != -1) {
- b.append(buf, 0, l);
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
-
- return b.toString();
+ return IOUtils.readToString(in, bufferLength, charset);
}
/**
@@ -276,13 +236,11 @@
* @throws IOException
* if something is going wrong
* @since 2.3.0
+ * @deprecated use {@link IOUtils#copyToStream(InputStream, OutputStream)}
*/
+ @Deprecated
public static void copyToStream(InputStream sourceStream, OutputStream targetStream) throws IOException {
- byte[] buf = new byte[1024];
- int l;
- while ((l = sourceStream.read(buf)) != -1) {
- targetStream.write(buf, 0, l);
- }
+ IOUtils.copyToStream(sourceStream, targetStream);
}
/**
@@ -297,56 +255,31 @@
* @throws IOException
* if somethings going wrong
* @since 2.3.0
+ * @deprecated use {@link IOUtils#zipDirectory(Path, Path)}
*/
- @SuppressWarnings("null")
+ @Deprecated
public static @NonNull Path zipDirectory(@NonNull Path dir, @Nullable Path zipFile) throws IOException {
- Path target = zipFile;
- if (target == null) {
- target = Files.createTempFile("generated-zip", ".zip"); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- try (ZipOutputStream out = new ZipOutputStream(Files.newOutputStream(target))) {
- for (Path c : Files.list(dir).collect(Collectors.toList())) {
- if (!c.equals(target)) {
- addEntry(out, dir, c);
- }
- }
-
- out.close();
- }
-
- return target;
- }
-
- private static void addEntry(ZipOutputStream out, Path rootPath, Path p) throws IOException {
- if (Files.isDirectory(p)) {
- for (Path c : Files.list(p).collect(Collectors.toList())) {
- addEntry(out, rootPath, c);
- }
- } else {
- ZipEntry e = new ZipEntry(rootPath.relativize(p).toString());
- out.putNextEntry(e);
- try (InputStream s = Files.newInputStream(p)) {
- copyToStream(s, out);
- }
- out.closeEntry();
- }
+ return IOUtils.zipDirectory(dir, zipFile);
}
/**
* @return <code>true</code> if running on OS-X
* @since 2.2.0
+ * @deprecated use {@link SystemUtils#isMacOS()}
*/
+ @Deprecated
public static boolean isMacOS() {
- return "Mac OS X".equals(System.getProperty("os.name")); //$NON-NLS-1$//$NON-NLS-2$
+ return SystemUtils.isMacOS();
}
/**
* @return <code>true</code> if running on windows
* @since 2.2.0
+ * @deprecated use {@link SystemUtils#isWindows()}
*/
+ @Deprecated
public static boolean isWindows() {
- return System.getProperty("os.name").toLowerCase().contains("windows"); //$NON-NLS-1$//$NON-NLS-2$
+ return SystemUtils.isWindows();
}
/**
@@ -360,17 +293,11 @@
* the upper bound (only values >= 0 are applied)
* @return the value
* @since 2.2.0
+ * @deprecated use {@link NumberUtils#unsignedConstraintValue(double, double, double)}
*/
+ @Deprecated
public static double unsignedConstraintValue(double v, double min, double max) {
- double rv = v;
- if (min >= 0) {
- rv = Math.max(rv, min);
- }
-
- if (max >= 0) {
- rv = Math.min(rv, max);
- }
- return rv;
+ return NumberUtils.unsignedConstraintValue(v, min, max);
}
/**
@@ -381,10 +308,11 @@
* the data
* @return the data
* @since 2.2.0
+ * @deprecated use {@link StreamUtils#debugStderr(Object)}
*/
+ @Deprecated
public static <T> T debugStderr(T data) {
- System.err.println(data);
- return data;
+ return StreamUtils.debugStderr(data);
}
/**
@@ -397,10 +325,11 @@
* the content is copied to the local filesystem
* @return the path
* @since 2.2.0
+ * @deprecated use {@link IOUtils#getLocalPath(URL, boolean)}
*/
+ @Deprecated
public static Optional<Resource<@NonNull Path>> getLocalPath(@NonNull URL url, boolean copyIfNeeded) {
- return lookupServiceList(URLResolver.class).stream().filter(r -> r.test(url)).findFirst().map(r -> Optional.of(Resource.createResource(r.resolveToLocalPath(url)))).orElseGet(() -> copyIfNeeded ? ExExecutor.executeSupplier(() -> Util.copyToTempFile(url), "Unable to copy resource") //$NON-NLS-1$
- : Optional.empty());
+ return IOUtils.getLocalPath(url, copyIfNeeded);
}
/**
@@ -410,23 +339,11 @@
* the url
* @return the path
* @since 2.2.0
+ * @deprecated use {@link IOUtils#getLocalURL(URL)}
*/
+ @Deprecated
public static Optional<URL> getLocalURL(@NonNull URL url) {
- return lookupServiceList(URLResolver.class).stream().filter(r -> r.test(url)).findFirst().map(r -> r.resolveToLocalURL(url));
- }
-
- private static Resource<@NonNull Path> copyToTempFile(@NonNull URL url) throws IOException {
- Path path = Files.createTempFile("tmp", Paths.get(url.getPath()).getFileName().toString()); //$NON-NLS-1$
-
- try (InputStream stream = url.openStream()) {
- Files.copy(stream, path);
- }
-
- if (path == null) {
- return null;
- }
-
- return Resource.createTempResource(path);
+ return IOUtils.getLocalURL(url);
}
/**
@@ -438,13 +355,11 @@
* @throws IllegalArgumentException
* if something wrong with the URL provided
* @since 2.3.0
+ * @deprecated use {@link URLUtils#createUrl(String)}
*/
+ @Deprecated
public static URL createUrl(String url) {
- try {
- return new URL(url);
- } catch (MalformedURLException e) {
- throw new IllegalArgumentException(e);
- }
+ return URLUtils.createUrl(url);
}
/**
@@ -456,16 +371,11 @@
* <code>true</code> if you want the exception to be logged
* @return the url wrapped in an optional
* @since 2.4.0
+ * @deprecated use {@link URLUtils#createUrl(String, boolean)}
*/
+ @Deprecated
public static Optional<URL> createUrl(String url, boolean log) {
- try {
- return Optional.of(new URL(url));
- } catch (Throwable e) {
- if (log) {
- LoggerCreator.createLogger(Util.class).error("Failed to create url from '" + url + "'", e); //$NON-NLS-1$//$NON-NLS-2$
- }
- return Optional.empty();
- }
+ return URLUtils.createUrl(url, log);
}
/**
@@ -477,10 +387,10 @@
* the length
* @return the created string
* @since 2.4.0
+ * @deprecated use {@link TextUtil#createRepeatedString(char, int)}
*/
+ @Deprecated
public static String createRepeatedString(char c, int length) {
- char[] vals = new char[length];
- Arrays.fill(vals, ' ');
- return String.valueOf(vals);
+ return TextUtil.createRepeatedString(c, length);
}
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/BindingStream.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/BindingStream.java
new file mode 100644
index 0000000..81a218d
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/BindingStream.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings;
+
+import java.util.function.Function;
+
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.property.BooleanProperty;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.FloatProperty;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.Property;
+import javafx.beans.property.StringProperty;
+import javafx.beans.value.ObservableValue;
+
+/**
+ * allows chaining of binding operations
+ *
+ * @param <T> the stream type
+ *
+ * @since 3.0
+ */
+public interface BindingStream<T> {
+
+ /**
+ * applies a mapping function to another observable value.
+ *
+ * @param map
+ * @return the {@link BindingStream}
+ */
+ <S> BindingStream<S> map(Function<T, ObservableValue<S>> map);
+
+ /**
+ * applies a mapping function to a non observable value.
+ * changes won't be tracked!
+ * @param map
+ * @return the {@link BindingStream}
+ */
+ <S> BindingStream<S> mapNoObservable(Function<T, S> map);
+
+ /**
+ * creates the {@link ObjectBinding}
+ * @return the binding
+ */
+ @Deprecated
+ ObjectBinding<T> toBinding();
+
+ @Deprecated
+ <S> Property<S> toProperty(Function<T, Property<S>> map);
+ @Deprecated
+ <S> ObjectProperty<S> toObjectProperty(Function<T, ObjectProperty<S>> map);
+ @Deprecated
+ StringProperty toStringProperty(Function<T, StringProperty> map);
+ @Deprecated
+ DoubleProperty toDoubleProperty(Function<T, DoubleProperty> map);
+ @Deprecated
+ BooleanProperty toBooleanProperty(Function<T, BooleanProperty> map);
+ @Deprecated
+ FloatProperty toFloatProperty(Function<T, FloatProperty> map);
+ @Deprecated
+ LongProperty toLongProperty(Function<T, LongProperty> map);
+ @Deprecated
+ IntegerProperty toIntegerProperty(Function<T, IntegerProperty> map);
+
+ /**
+ * Collect the stream
+ * @param collector
+ * @return the terminal type
+ */
+ <R> R collect(FXCollector<T,R> collector);
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXBindings.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXBindings.java
new file mode 100644
index 0000000..2f9ba78
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXBindings.java
@@ -0,0 +1,1893 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.DoubleFunction;
+import java.util.function.DoubleToIntFunction;
+import java.util.function.DoubleToLongFunction;
+import java.util.function.DoubleUnaryOperator;
+import java.util.function.Function;
+import java.util.function.IntFunction;
+import java.util.function.IntToDoubleFunction;
+import java.util.function.IntToLongFunction;
+import java.util.function.IntUnaryOperator;
+import java.util.function.LongFunction;
+import java.util.function.LongToDoubleFunction;
+import java.util.function.LongToIntFunction;
+import java.util.function.LongUnaryOperator;
+import java.util.function.Predicate;
+import java.util.function.ToDoubleFunction;
+import java.util.function.ToIntFunction;
+import java.util.function.ToLongFunction;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+
+import javafx.beans.binding.Binding;
+import javafx.beans.binding.BooleanExpression;
+import javafx.beans.binding.ListBinding;
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.binding.StringBinding;
+import javafx.beans.property.BooleanProperty;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.FloatProperty;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.Property;
+import javafx.beans.property.SimpleIntegerProperty;
+import javafx.beans.property.StringProperty;
+import javafx.beans.value.ObservableBooleanValue;
+import javafx.beans.value.ObservableValue;
+import javafx.collections.FXCollections;
+import javafx.collections.ListChangeListener;
+import javafx.collections.ListChangeListener.Change;
+import javafx.collections.ObservableList;
+
+import org.eclipse.fx.core.Status;
+import org.eclipse.fx.core.Subscription;
+import org.eclipse.fx.core.ThreadSynchronize;
+import org.eclipse.fx.core.Tuple;
+import org.eclipse.fx.core.bindings.internal.BaseBidiPropertyBinding;
+import org.eclipse.fx.core.bindings.internal.BindingStreamImpl;
+import org.eclipse.fx.core.bindings.internal.ConcatListBinding;
+import org.eclipse.fx.core.bindings.internal.ConcatStringBinding;
+import org.eclipse.fx.core.bindings.internal.FixListBinding;
+import org.eclipse.fx.core.bindings.internal.FlatMapListBinding;
+import org.eclipse.fx.core.bindings.internal.FlatMapValueListBinding;
+import org.eclipse.fx.core.bindings.internal.MapListBinding;
+import org.eclipse.fx.core.bindings.internal.MapObjectBinding;
+import org.eclipse.fx.core.bindings.internal.MapSimpleObjectBinding;
+import org.eclipse.fx.core.bindings.internal.SyncListBinding;
+import org.eclipse.fx.core.bindings.internal.SyncObjectBinding;
+import org.eclipse.fx.core.bindings.internal.TenaryBinding;
+
+/**
+ * Collection of JavaFX bean bindings.
+ *
+ * @since 3.0.0
+ */
+public class FXBindings {
+
+ private static class ConcatListHelper<T> {
+ private final ObservableList<T> concatedList = FXCollections.observableArrayList();
+ final ObservableList<T> roConcatedList = FXCollections.unmodifiableObservableList(this.concatedList);
+
+ @SafeVarargs
+ ConcatListHelper(ObservableList<T>... list) {
+ int[] index = new int[list.length];
+
+ for (int i = 0; i < list.length; i++) {
+ int j = i;
+ index[i] = this.concatedList.size();
+ this.concatedList.addAll(list[i]);
+ list[i].addListener((Change<? extends T> c) -> {
+ while (c.next()) {
+ if (c.wasRemoved()) {
+ this.concatedList.remove(index[j] + c.getFrom(),
+ index[j] + c.getFrom() + c.getRemovedSize());
+ for (int k = j + 1; k < index.length; k++) {
+ index[k] -= c.getRemoved().size();
+ }
+ }
+
+ if (c.wasAdded()) {
+ this.concatedList.addAll(index[j] + c.getFrom(), c.getAddedSubList());
+ for (int k = j + 1; k < index.length; k++) {
+ index[k] += c.getAddedSubList().size();
+ }
+ }
+ }
+ });
+ }
+ }
+ }
+
+ /**
+ * Create a concatenated list similar to
+ * {@link FXCollections#concat(ObservableList...)}
+ *
+ * @param lists
+ * the source lists
+ * @return an observable list who is synchronized with the source lists
+ */
+ @SafeVarargs
+ public static <T> ObservableList<T> concatenatedList(ObservableList<T>... lists) {
+ return new ConcatListHelper<>(lists).roConcatedList;
+ }
+
+ /**
+ * allows to apply multiple functions before creating a Binding. useful for
+ * feature paths
+ *
+ * @param source
+ * @return an ObjectBinding
+ */
+ public static <T> BindingStream<T> bindStream(ObservableValue<T> source) {
+ return new BindingStreamImpl<>(source);
+ }
+
+ /**
+ * Creates a binding dependending on the value of the condition
+ *
+ * @param condition
+ * the condition
+ * @param then
+ * the value held by the binding if the condition is
+ * <code>true</code>
+ * @param _else
+ * the value held by the binding if the condition is
+ * <code>false</code>
+ * @return the binding
+ */
+ public static <T> Binding<T> tenaryBinding(ObservableBooleanValue condition, ObservableValue<T> then,
+ ObservableValue<T> _else) {
+ return new TenaryBinding<>(condition, then, _else);
+ }
+
+ /**
+ * Creates a binding dependending on the value of the condition
+ *
+ * @param condition
+ * the condition
+ * @param then
+ * the value held by the binding if the condition is
+ * <code>true</code>
+ * @param _else
+ * the value held by the binding if the condition is
+ * <code>false</code>
+ * @return the binding
+ */
+ public static <T> Binding<T> tenaryBinding(ObservableBooleanValue condition, T then, T _else) {
+ return new TenaryBinding<>(condition, then, _else);
+ }
+
+ /**
+ * Concatenates multiple observable lists together.
+ *
+ * @param sources
+ * @return the concatenated list binding
+ */
+ @SuppressWarnings("unchecked")
+ public static <A> ListBinding<A> concat(ObservableList<A>... sources) {
+ return new FixListBinding<>(new ConcatListBinding<>(sources));
+ }
+
+ /**
+ * Concat all non-null and non empty values with the given delimiter
+ *
+ * @param delimiter
+ * the delimiter to use
+ * @param sources
+ * list of observable
+ * @return binding with the source concated
+ */
+ @SafeVarargs
+ public static <T> StringBinding concat(String delimiter, ObservableValue<T>... sources) {
+ return new ConcatStringBinding<>(delimiter, sources);
+ }
+
+ /**
+ * Maps an observable value to another observable value
+ *
+ * @param source
+ * @param map
+ * @return the mapped value binding
+ */
+ public static <A, B> ObjectBinding<B> flatMap(ObservableValue<A> source, Function<A, ObservableValue<B>> map) {
+ return new MapObjectBinding<>(source, map);
+ }
+
+ /**
+ * Maps an observable value
+ *
+ * @param source
+ * @param map
+ * @return the mapped value binding
+ */
+ public static <A, B> ObjectBinding<B> map(ObservableValue<A> source, Function<A, B> map) {
+ return new MapSimpleObjectBinding<>(source, map);
+ }
+
+ /**
+ * Maps an observable list
+ *
+ * @param source
+ * @param map
+ * @return the mapped list binding
+ */
+ public static <A, B> ListBinding<B> mapList(ObservableList<A> source, Function<A, B> map) {
+ return new FixListBinding<>(new MapListBinding<A, B>(source, map));
+ }
+
+ /**
+ * Flat maps an observable list with observable lists
+ *
+ * @param source
+ * @param map
+ * @return the flat mapped list binding
+ */
+ public static <A, B> ListBinding<B> flatMapList(ObservableList<A> source, Function<A, ObservableList<B>> map) {
+ return new FixListBinding<>(new FlatMapListBinding<A, B>(source, map));
+ }
+
+ /**
+ * Flat maps an observable list with observable values
+ *
+ * @param source
+ * @param map
+ * @return the flat mapped list binding
+ */
+ public static <A, B> ListBinding<B> flatMapListValue(ObservableList<A> source,
+ Function<A, ObservableValue<B>> map) {
+ return new FixListBinding<>(new FlatMapValueListBinding<>(source, map));
+ }
+
+ /**
+ * allows to sync between threads
+ *
+ * @param source
+ * @param thread
+ * @return the synced list binding
+ */
+ public static <A> ListBinding<A> syncList(ObservableList<A> source, ThreadSynchronize thread) {
+ return new SyncListBinding<>(source, thread);
+ }
+
+ /**
+ * allows to sync between threads
+ *
+ * @param source
+ * @param thread
+ * @return the synced object binding
+ */
+ public static <A> ObjectBinding<A> sync(ObservableValue<A> source, ThreadSynchronize thread) {
+ return new SyncObjectBinding<>(source, thread);
+ }
+
+ /**
+ * Bind the content to the source list to the target and apply the converter
+ * in between
+ *
+ * @param target
+ * the target list
+ * @param sourceList
+ * the source list
+ * @param converterFunction
+ * the function used to convert
+ * @param <T>
+ * the target type
+ * @param <E>
+ * the source type
+ * @return the subscription to dispose the binding
+ */
+ public static <T, E> Subscription bindContent(List<T> target, ObservableList<E> sourceList,
+ Function<E, T> converterFunction) {
+ return bindContent(null, target, sourceList, converterFunction);
+ }
+
+ /**
+ * Bind the content to the source list to the target and apply the converter
+ * in between
+ *
+ * @param threadSync
+ * strategy to synchronize the target on a certain thread, might
+ * be <code>null</code>
+ * @param target
+ * the target list
+ * @param sourceList
+ * the source list
+ * @param converterFunction
+ * the function used to convert
+ * @param <T>
+ * the target type
+ * @param <E>
+ * the source type
+ * @return the subscription to dispose the binding
+ */
+ public static <T, E> Subscription bindContent(ThreadSynchronize threadSync, List<T> target,
+ ObservableList<E> sourceList, Function<E, T> converterFunction) {
+ List<T> list = sourceList.stream().map(converterFunction).collect(Collectors.toList());
+
+ if (threadSync == null) {
+ if (target instanceof ObservableList<?>) {
+ ((ObservableList<T>) target).setAll(list);
+ } else {
+ target.clear();
+ target.addAll(list);
+ }
+ } else {
+ threadSync.asyncExec(() -> {
+ if (target instanceof ObservableList<?>) {
+ ((ObservableList<T>) target).setAll(list);
+ } else {
+ target.clear();
+ target.addAll(list);
+ }
+ });
+ }
+ ListChangeListener<E> fl;
+
+ ListChangeListener<E> l = change -> {
+ while (change.next()) {
+ if (change.wasPermutated()) {
+ target.subList(change.getFrom(), change.getTo()).clear();
+ target.addAll(change.getFrom(), transformList(
+ change.getList().subList(change.getFrom(), change.getTo()), converterFunction));
+ } else {
+ if (change.wasRemoved()) {
+ target.subList(change.getFrom(), change.getFrom() + change.getRemovedSize()).clear();
+ }
+ if (change.wasAdded()) {
+ target.addAll(change.getFrom(), transformList(change.getAddedSubList(), converterFunction));
+ }
+ }
+ }
+ };
+ if (threadSync == null) {
+ fl = l;
+ sourceList.addListener(l);
+ } else {
+ fl = change -> {
+ threadSync.asyncExec(() -> l.onChanged(change));
+ };
+ sourceList.addListener(fl);
+ }
+
+ return new Subscription() {
+
+ @Override
+ public void dispose() {
+ if (threadSync == null) {
+ sourceList.removeListener(fl);
+ } else {
+ threadSync.asyncExec(fl, sourceList::removeListener);
+ }
+ }
+ };
+ }
+
+ static class PaddedListBinding<T, E> implements Subscription {
+ final ObservableList<E> sourceList;
+ final IntegerProperty padding;
+ final ListChangeListener<E> l;
+ final IntFunction<T> paddingEntryFactory;
+ final List<T> target;
+ final ThreadSynchronize threadSync;
+
+ PaddedListBinding(ThreadSynchronize threadSync, int padding, List<T> target, ObservableList<E> sourceList,
+ Function<E, T> converterFunction, IntFunction<T> paddingEntryFactory) {
+ this.threadSync = threadSync;
+ this.padding = new SimpleIntegerProperty(this, "padding", padding); //$NON-NLS-1$
+ this.target = target;
+ this.sourceList = sourceList;
+ ListChangeListener<E> l = change -> {
+ while (change.next()) {
+ if (change.wasPermutated()) {
+ target.subList(change.getFrom() + getPadding(), change.getTo() + getPadding()).clear();
+ target.addAll(change.getFrom() + getPadding(), transformList(
+ change.getList().subList(change.getFrom(), change.getTo()), converterFunction));
+ } else {
+ if (change.wasRemoved()) {
+ target.subList(change.getFrom() + getPadding(),
+ change.getFrom() + getPadding() + change.getRemovedSize()).clear();
+ }
+ if (change.wasAdded()) {
+ target.addAll(change.getFrom() + getPadding(),
+ transformList(change.getAddedSubList(), converterFunction));
+ }
+ }
+ }
+ };
+
+ if (threadSync == null) {
+ this.l = l;
+ } else {
+ ListChangeListener<E> ll = change -> {
+ threadSync.asyncExec(() -> l.onChanged(change));
+ };
+ this.l = ll;
+ }
+
+ this.sourceList.addListener(this.l);
+ this.paddingEntryFactory = paddingEntryFactory;
+ this.padding.addListener((o, ol, ne) -> {
+ int iOl = ol == null ? 0 : ol.intValue();
+ int iNe = ne == null ? 0 : ne.intValue();
+
+ if (iOl > iNe) {
+ target.subList(iNe, iOl).clear();
+ } else if (iOl < iNe) {
+ List<T> paddedObjects = IntStream.range(iOl, iNe).mapToObj(paddingEntryFactory)
+ .collect(Collectors.toList());
+ target.addAll(iOl, paddedObjects);
+ }
+ });
+
+ List<T> list = sourceList.stream().map(converterFunction).collect(Collectors.toList());
+
+ if (threadSync == null) {
+ if (padding == 0) {
+ if (target instanceof ObservableList<?>) {
+ ((ObservableList<T>) target).setAll(list);
+ } else {
+ target.clear();
+ target.addAll(list);
+ }
+ } else {
+ if (!target.isEmpty()) {
+ target.subList(padding, target.size()).clear();
+ target.addAll(padding, list);
+ } else {
+ List<T> t = IntStream.range(0, padding).mapToObj(paddingEntryFactory)
+ .collect(Collectors.toList());
+ t.addAll(list);
+ target.addAll(t);
+ }
+ }
+ } else {
+ threadSync.asyncExec(() -> {
+ if (padding == 0) {
+ if (target instanceof ObservableList<?>) {
+ ((ObservableList<T>) target).setAll(list);
+ } else {
+ target.clear();
+ target.addAll(list);
+ }
+ } else {
+ if (!target.isEmpty()) {
+ target.subList(padding, target.size()).clear();
+ target.addAll(padding, list);
+ } else {
+ List<T> t = IntStream.range(0, padding).mapToObj(paddingEntryFactory)
+ .collect(Collectors.toList());
+ t.addAll(list);
+ target.addAll(t);
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ * @return padding for the target list
+ */
+ public final IntegerProperty paddingProperty() {
+ return this.padding;
+ }
+
+ /**
+ * @return the padding
+ */
+ public final int getPadding() {
+ return this.paddingProperty().get();
+ }
+
+ /**
+ * Set a new padding
+ *
+ * @param padding
+ * a new padding
+ */
+ public final void setPadding(final int padding) {
+ this.paddingProperty().set(padding);
+ }
+
+ @Override
+ public void dispose() {
+ if (this.threadSync == null) {
+ this.sourceList.remove(this.l);
+ } else {
+ this.threadSync.asyncExec(this.l, this.sourceList::remove);
+ }
+
+ }
+ }
+
+ /**
+ * Bind the content to the source list to the target with an optional
+ * padding and apply the converter in between
+ *
+ * @param padding
+ * the initial padding
+ * @param target
+ * the target
+ * @param sourceList
+ * the source list
+ * @param converterFunction
+ * the converter function
+ * @param paddingEntryFactory
+ * function to consult when filling padding slots
+ * @return the binding
+ */
+ public static <T, E> Subscription bindContent(int padding, List<T> target, ObservableList<E> sourceList,
+ Function<E, T> converterFunction, IntFunction<T> paddingEntryFactory) {
+ return bindContent(null, padding, target, sourceList, converterFunction, paddingEntryFactory);
+ }
+
+ /**
+ * Bind the content to the source list to the target with an optional
+ * padding and apply the converter in between
+ *
+ * @param threadSync
+ * strategy to synchronize the target on a certain thread, might
+ * be <code>null</code>
+ * @param padding
+ * the initial padding
+ * @param target
+ * the target
+ * @param sourceList
+ * the source list
+ * @param converterFunction
+ * the converter function
+ * @param paddingEntryFactory
+ * function to consult when filling padding slots
+ * @return the binding
+ */
+ public static <T, E> Subscription bindContent(ThreadSynchronize threadSync, int padding, List<T> target,
+ ObservableList<E> sourceList, Function<E, T> converterFunction, IntFunction<T> paddingEntryFactory) {
+ return new PaddedListBinding<>(threadSync, padding, target, sourceList, converterFunction, paddingEntryFactory);
+ }
+
+ static <T, E> List<T> transformList(List<? extends E> list, Function<E, T> converterFunction) {
+ return list.stream().map(converterFunction).collect(Collectors.toList());
+ }
+
+ /**
+ * Registry to track and lookup globally available converters
+ *
+ */
+ public static class ConverterRegistry {
+
+ private static Map<Tuple<Class<?>, Class<?>>, Function<?, ?>> map = new HashMap<>();
+
+ static {
+ // TODO add some default mappings here
+ registerConverter(Integer.class, String.class, i -> i.toString());
+ registerConverter(String.class, Integer.class, s -> Integer.valueOf(Integer.parseInt(s)));
+ }
+
+ /**
+ * registers a converter
+ *
+ * @param sourceType
+ * @param targetType
+ * @param converter
+ */
+ public static <S, T> void registerConverter(Class<S> sourceType, Class<T> targetType,
+ Function<S, T> converter) {
+ map.put(new Tuple<Class<?>, Class<?>>(sourceType, targetType), converter);
+ }
+
+ /**
+ * retrieves a converter
+ *
+ * @param sourceType
+ * @param targetType
+ * @return the converter or <code>null</code> if none was found
+ */
+ @SuppressWarnings("unchecked")
+ public static <S, T> Function<S, T> getConverter(Class<S> sourceType, Class<T> targetType) {
+ return (Function<S, T>) map.get(new Tuple<Class<S>, Class<T>>(sourceType, targetType));
+ }
+ }
+
+ /**
+ * Binding status.
+ *
+ */
+ public static interface StatusBinding extends Binding<Status> {
+ // empty
+ }
+
+ /**
+ * Bidirectional binding between two properties with conversion. The
+ * conversion is looked up in the {@link ConverterRegistry} if no converter
+ * is found a runtime exception is thrown
+ *
+ * @param target
+ * @param source
+ * @param targetType
+ * @param sourceType
+ * @return a StatusBinding which can be used to watch conversion failures
+ * and to dispose the whole bidi binding
+ */
+ public static <S, T> StatusBinding bindBidirectional(Property<T> target, Property<S> source, Class<T> targetType,
+ Class<S> sourceType) {
+ // lookup in registry
+ Function<T, S> targetToSource = ConverterRegistry.getConverter(targetType, sourceType);
+ Function<S, T> sourceToTarget = ConverterRegistry.getConverter(sourceType, targetType);
+ if (sourceToTarget == null)
+ throw new RuntimeException("Cannot find converter from " + sourceType + " to " + targetType); //$NON-NLS-1$//$NON-NLS-2$
+ if (targetToSource == null)
+ throw new RuntimeException("Cannot find converter from " + targetType + " to " + sourceType); //$NON-NLS-1$//$NON-NLS-2$
+ return bindBidirectional(target, source, targetToSource, sourceToTarget);
+ }
+
+ /**
+ * Bidirectional binding between two properties with conversion.
+ *
+ * @param target
+ * @param source
+ * @param targetToSource
+ * @param sourceToTarget
+ * @return a StatusBinding which can be used to watch conversion failures
+ * and to dispose the whole bidi binding
+ */
+ public static <S, T> StatusBinding bindBidirectional(Property<T> target, Property<S> source,
+ Function<T, S> targetToSource, Function<S, T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.getValue()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.setValue(targetToSource.apply(target.getValue()));
+ }
+ };
+ }
+
+ /**
+ * Specialized bindings for {@link IntegerProperty}, {@link FloatProperty},
+ * {@link DoubleProperty}, {@link LongProperty}, {@link BooleanProperty}
+ */
+ public static class PrimitivesBindings {
+ // ----------------------------------------------------------------------------------------------------------
+ // StringProperty
+ // ----------------------------------------------------------------------------------------------------------
+ /*
+ * Self
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(StringProperty target, StringProperty source,
+ Function<String, String> targetToSource, Function<String, String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /*
+ * StringProperty as source
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(Property<T> target, StringProperty source,
+ Function<T, String> targetToSource, Function<String, T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(target.getValue()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(IntegerProperty target, StringProperty source,
+ IntFunction<String> targetToSource, ToIntFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsInt(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(DoubleProperty target, StringProperty source,
+ DoubleFunction<String> targetToSource, ToDoubleFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(FloatProperty target, StringProperty source,
+ DoubleFunction<String> targetToSource, ToDoubleFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set((float) sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(LongProperty target, StringProperty source,
+ LongFunction<String> targetToSource, ToLongFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsLong(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(BooleanProperty target, StringProperty source,
+ Function<Boolean, String> targetToSource, Predicate<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.test(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.apply(Boolean.valueOf(target.get())));
+ }
+ };
+ }
+
+ /*
+ * StringProperty as target
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(StringProperty target, Property<T> source,
+ Function<String, T> targetToSource, Function<T, String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.getValue()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.setValue(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(StringProperty target, IntegerProperty source,
+ ToIntFunction<String> targetToSource, IntFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsInt(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(StringProperty target, DoubleProperty source,
+ ToDoubleFunction<String> targetToSource, DoubleFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(StringProperty target, FloatProperty source,
+ ToDoubleFunction<String> targetToSource, DoubleFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set((float) targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(StringProperty target, LongProperty source,
+ ToLongFunction<String> targetToSource, LongFunction<String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsLong(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(StringProperty target, BooleanProperty source,
+ Predicate<String> targetToSource, Function<Boolean, String> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(Boolean.valueOf(source.get())));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.test(target.get()));
+ }
+ };
+ }
+
+ // ----------------------------------------------------------------------------------------------------------
+ // BooleanProperty
+ // ----------------------------------------------------------------------------------------------------------
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(Property<T> target, BooleanProperty source,
+ Predicate<T> targetToSource, Function<Boolean, T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(Boolean.valueOf(source.get())));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.test(target.getValue()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(BooleanProperty target, Property<T> source,
+ Function<Boolean, T> targetToSource, Predicate<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.test(source.getValue()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.setValue(targetToSource.apply(target.getValue()));
+ }
+ };
+ }
+
+ // ----------------------------------------------------------------------------------------------------------
+ // IntegerProperty
+ // ----------------------------------------------------------------------------------------------------------
+ /*
+ * IntegerProperty as Source
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(Property<T> target, IntegerProperty source,
+ ToIntFunction<T> targetToSource, IntFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsInt(target.getValue()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(DoubleProperty target, IntegerProperty source,
+ DoubleToIntFunction targetToSource, IntToDoubleFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsInt(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(FloatProperty target, IntegerProperty source,
+ /* FloatToIntFunction */ DoubleToIntFunction targetToSource,
+ /* IntToFloatFunction */IntToDoubleFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set((float) sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsInt(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(LongProperty target, IntegerProperty source,
+ LongToIntFunction targetToSource, IntToLongFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsLong(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsInt(target.get()));
+ }
+ };
+ }
+
+ /*
+ * Integer Property as Target
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(IntegerProperty target, Property<T> source,
+ IntFunction<T> targetToSource, ToIntFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsInt(source.getValue()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.setValue(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(IntegerProperty target, DoubleProperty source,
+ IntToDoubleFunction targetToSource, DoubleToIntFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsInt(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(IntegerProperty target, FloatProperty source,
+ /* IntToFloatFunction */IntToDoubleFunction targetToSource,
+ /* FloatToIntFunction */ DoubleToIntFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsInt(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set((float) targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(IntegerProperty target, LongProperty source,
+ IntToLongFunction targetToSource, LongToIntFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsInt(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsLong(target.get()));
+ }
+ };
+ }
+
+ /*
+ * Self
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <S> StatusBinding bindBidirectional(IntegerProperty target, IntegerProperty source,
+ IntUnaryOperator targetToSource, IntUnaryOperator sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsInt(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsInt(target.get()));
+ }
+ };
+ }
+
+ // ----------------------------------------------------------------------------------------------------------
+ // DoubleProperty
+ // ----------------------------------------------------------------------------------------------------------
+ /*
+ * Double as Source
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(Property<T> target, DoubleProperty source,
+ ToDoubleFunction<T> targetToSource, DoubleFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsDouble(target.getValue()));
+ }
+ };
+ }
+ // Already defined above in the integer area
+ // public static StatusBinding bindBidirectional(IntegerProperty target,
+ // DoubleProperty source, IntToDoubleFunction targetToSource,
+ // DoubleToIntFunction sourceToTarget) {
+ // return null;
+ // }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(FloatProperty target, DoubleProperty source,
+ /* FloatToDoubleFunction */ DoubleUnaryOperator targetToSource,
+ /* DoubleToFloatFunction */DoubleUnaryOperator sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set((float) sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(LongProperty target, DoubleProperty source,
+ LongToDoubleFunction targetToSource, DoubleToLongFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsLong(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /*
+ * Double as Target
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(DoubleProperty target, Property<T> source,
+ DoubleFunction<T> targetToSource, ToDoubleFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsDouble(source.getValue()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.setValue(targetToSource.apply(target.get()));
+ }
+ };
+ }
+
+ // Already defined above integer area
+ // public static StatusBinding bindBidirectional(DoubleProperty target,
+ // IntegerProperty source, DoubleToIntFunction targetToSource,
+ // IntToDoubleFunction sourceToTarget) {
+ // return null;
+ // }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(DoubleProperty target, FloatProperty source,
+ /* DoubleToFloatFunction */DoubleUnaryOperator targetToSource,
+ /* FloatToDoubleFunction */ DoubleUnaryOperator sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set((float) targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(DoubleProperty target, LongProperty source,
+ DoubleToLongFunction targetToSource, LongToDoubleFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsLong(target.get()));
+ }
+ };
+ }
+
+ /*
+ * Self
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <S> StatusBinding bindBidirectional(DoubleProperty target, DoubleProperty source,
+ DoubleUnaryOperator targetToSource, DoubleUnaryOperator sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ // ----------------------------------------------------------------------------------------------------------
+ // FloatProperty
+ // ----------------------------------------------------------------------------------------------------------
+ /*
+ * Float as Source
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(Property<T> target, FloatProperty source,
+ ToDoubleFunction<T> targetToSource, DoubleFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set((float) targetToSource.applyAsDouble(target.getValue()));
+ }
+ };
+ }
+ // Already defined above in the integer area
+ // public static StatusBinding bindBidirectional(IntegerProperty target,
+ // FloatProperty source, IntToDoubleFunction targetToSource,
+ // DoubleToIntFunction sourceToTarget) {
+ // return null;
+ // }
+ // Already defined in double area
+ // public static StatusBinding bindBidirectional(DoubleProperty target,
+ // FloatProperty source, /* DoubleToDoubleFunction */
+ // DoubleUnaryOperator targetToSource, /* FloatToDoubleFunction
+ // */DoubleUnaryOperator sourceToTarget) {
+ // return null;
+ // }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(LongProperty target, FloatProperty source,
+ /* LongToFloatFunction */ LongToDoubleFunction targetToSource,
+ /* FloatToLongFunction */ DoubleToLongFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsLong(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set((float) targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ /*
+ * Float as Target
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(FloatProperty target, Property<T> source,
+ DoubleFunction<T> targetToSource, ToDoubleFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set((float) sourceToTarget.applyAsDouble(source.getValue()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.setValue(targetToSource.apply(target.get()));
+ }
+ };
+ }
+ // Already defined above in the integer area
+ // public static StatusBinding bindBidirectional(FloatProperty target,
+ // source, IntegerProperty DoubleToIntFunction targetToSource,
+ // IntToDoubleFunction sourceToTarget) {
+ // return null;
+ // }
+ // Already defined in double area
+ // public static StatusBinding bindBidirectional(FloatProperty target,
+ // DoubleProperty source, /* FloatToDoubleFunction */DoubleUnaryOperator
+ // targetToSource, /* DoubleToDoubleFunction */ DoubleUnaryOperator
+ // sourceToTarget) {
+ // return null;
+ // }
+
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static StatusBinding bindBidirectional(FloatProperty target, LongProperty source,
+ /* LongToFloatFunction */ DoubleToLongFunction targetToSource,
+ /* FloatToLongFunction */ LongToDoubleFunction sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set((float) sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsLong(target.get()));
+ }
+ };
+ }
+
+ /*
+ * Self
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <S> StatusBinding bindBidirectional(FloatProperty target, FloatProperty source,
+ DoubleUnaryOperator targetToSource, DoubleUnaryOperator sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set((float) sourceToTarget.applyAsDouble(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set((float) targetToSource.applyAsDouble(target.get()));
+ }
+ };
+ }
+
+ // ----------------------------------------------------------------------------------------------------------
+ // LongProperty
+ // ----------------------------------------------------------------------------------------------------------
+ /*
+ * Long as Source
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <T> StatusBinding bindBidirectional(Property<T> target, LongProperty source,
+ ToLongFunction<T> targetToSource, LongFunction<T> sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.setValue(sourceToTarget.apply(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsLong(target.getValue()));
+ }
+ };
+ }
+ // Already defined above in the integer area
+ // public static StatusBinding bindBidirectional(IntegerProperty target,
+ // LongProperty source, IntToDoubleFunction targetToSource,
+ // DoubleToIntFunction sourceToTarget) {
+ // return null;
+ // }
+ // Already defined in double area
+ // public static StatusBinding bindBidirectional(DoubleProperty target,
+ // LongProperty source, /* DoubleToDoubleFunction */ DoubleUnaryOperator
+ // targetToSource, /* FloatToDoubleFunction */DoubleUnaryOperator
+ // sourceToTarget) {
+ // return null;
+ // }
+ //
+ // public static StatusBinding bindBidirectional(FloatProperty target,
+ // LongProperty source, /* LongToFloatFunction */ DoubleToLongFunction
+ // targetToSource, /* FloatToLongFunction */ LongToDoubleFunction
+ // sourceToTarget) {
+ // return null;
+ // }
+
+ /*
+ * Self
+ */
+ /**
+ * Bind a properties
+ *
+ * @param target
+ * the target
+ * @param source
+ * the source
+ * @param targetToSource
+ * the conversion from target to source
+ * @param sourceToTarget
+ * the conversion from source to target
+ * @return the binding
+ */
+ public static <S> StatusBinding bindBidirectional(LongProperty target, LongProperty source,
+ LongUnaryOperator targetToSource, LongUnaryOperator sourceToTarget) {
+ return new BaseBidiPropertyBinding(target, source) {
+
+ @Override
+ protected void syncTarget() {
+ target.set(sourceToTarget.applyAsLong(source.get()));
+ }
+
+ @Override
+ protected void syncSource() {
+ source.set(targetToSource.applyAsLong(target.get()));
+ }
+ };
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXCollector.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXCollector.java
new file mode 100644
index 0000000..0187cc4
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXCollector.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings;
+
+/**
+ * Collectors for {@link BindingStream}
+ *
+ * @param <T>
+ * the stream type
+ * @param <R>
+ * the return type
+ * @since 3.0
+ */
+public interface FXCollector<T, R> {
+ /**
+ * Method to construct the final stream result
+ *
+ * @param stream
+ * the stream
+ * @return the return type
+ */
+ public R finish(BindingStream<T> stream);
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXCollectors.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXCollectors.java
new file mode 100644
index 0000000..bd1f26c
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/FXCollectors.java
@@ -0,0 +1,359 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings;
+
+import java.util.function.Function;
+import java.util.stream.Stream;
+
+import org.eclipse.fx.core.bindings.internal.BindingStreamImpl;
+import org.eclipse.fx.core.bindings.internal.BindingStreamImpl.StreamBinding;
+
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.property.BooleanProperty;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.FloatProperty;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.Property;
+import javafx.beans.property.SimpleBooleanProperty;
+import javafx.beans.property.SimpleDoubleProperty;
+import javafx.beans.property.SimpleFloatProperty;
+import javafx.beans.property.SimpleIntegerProperty;
+import javafx.beans.property.SimpleLongProperty;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.beans.property.StringProperty;
+
+/**
+ * Standard collectors for {@link BindingStream#collect(FXCollector)}
+ *
+ * @since 3.0
+ */
+public class FXCollectors {
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ @SuppressWarnings("null")
+ public static <T, S> FXCollector<T, Property<S>> toProperty(Function<T, Property<S>> map) {
+ return stream -> {
+ // Remember the binding to prevent GC to clean it up
+ ObjectBinding<Property<S>> binding = stream.mapNoObservable(map).collect(toBinding());
+ ObjectProperty<S> rv = new SimpleObjectProperty<S>() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<Property<S>> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set((S) null);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ @SuppressWarnings("null")
+ public static <T, S> FXCollector<T, ObjectProperty<S>> toObjectProperty(Function<T, ObjectProperty<S>> map) {
+ return stream -> {
+ // Remember the binding to prevent GC to clean it up
+ ObjectBinding<ObjectProperty<S>> binding = stream.mapNoObservable(map).collect(toBinding());
+ ObjectProperty<S> rv = new SimpleObjectProperty<S>() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<ObjectProperty<S>> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set((S) null);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ public static <T> FXCollector<T, StringProperty> toStringProperty(Function<T, StringProperty> map) {
+ return stream -> {
+ ObjectBinding<StringProperty> binding = stream.mapNoObservable(map).collect(toBinding());
+ StringProperty rv = new SimpleStringProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<StringProperty> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(null);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ public static <T> FXCollector<T, DoubleProperty> toDoubleProperty(Function<T, DoubleProperty> map) {
+ return stream -> {
+ ObjectBinding<DoubleProperty> binding = stream.mapNoObservable(map).collect(toBinding());
+ DoubleProperty rv = new SimpleDoubleProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<DoubleProperty> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0.0);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ public static <T> FXCollector<T, BooleanProperty> toBooleanProperty(Function<T, BooleanProperty> map) {
+ return stream -> {
+ ObjectBinding<BooleanProperty> binding = stream.mapNoObservable(map).collect(toBinding());
+ BooleanProperty rv = new SimpleBooleanProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<BooleanProperty> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(false);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ public static <T> FXCollector<T, FloatProperty> toFloatProperty(Function<T, FloatProperty> map) {
+ return stream -> {
+ ObjectBinding<FloatProperty> binding = stream.mapNoObservable(map).collect(toBinding());
+ FloatProperty rv = new SimpleFloatProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<FloatProperty> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0.0f);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ public static <T> FXCollector<T, LongProperty> toLongProperty(Function<T, LongProperty> map) {
+ return stream -> {
+ ObjectBinding<LongProperty> binding = stream.mapNoObservable(map).collect(toBinding());
+ LongProperty rv = new SimpleLongProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<LongProperty> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * Construct a property
+ *
+ * @param map
+ * map the source to the property
+ * @return the property
+ */
+ public static <T> FXCollector<T, IntegerProperty> toIntegerProperty(Function<T, IntegerProperty> map) {
+ return stream -> {
+ ObjectBinding<IntegerProperty> binding = stream.mapNoObservable(map).collect(toBinding());
+ IntegerProperty rv = new SimpleIntegerProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<IntegerProperty> b = binding;
+ };
+
+ if (binding.get() != null) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener((o, ol, ne) -> {
+ if (ol != null) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if (ne != null) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0);
+ }
+ });
+
+ return rv;
+ };
+ }
+
+ /**
+ * creates the {@link ObjectBinding}
+ * @return the collector
+ */
+ public static <T> FXCollector<T, ObjectBinding<T>> toBinding() {
+ return stream -> {
+ return new StreamBinding<>(((BindingStreamImpl<T>) stream).base, ((BindingStreamImpl<T>) stream).path);
+ };
+ }
+
+ /**
+ * create the {@link ObjectBinding} but replaces the null value with the provided value
+ * @param nullReplacement the replacement for a null value
+ * @return the collector
+ */
+ public static <T> FXCollector<T, ObjectBinding<T>> toBinding(T nullReplacement) {
+ return stream -> {
+ ObjectBinding<T> b = stream.collect(FXCollectors.toBinding());
+
+ ObjectBinding<T> rv = new ObjectBinding<T>() {
+ {
+ bind(b);
+ }
+ @Override
+ protected T computeValue() {
+ return b.get() == null ? nullReplacement : b.get();
+ }
+ };
+
+ return rv;
+ };
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/ObservableWritableValue.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/ObservableWritableValue.java
new file mode 100644
index 0000000..78ffd20
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/ObservableWritableValue.java
@@ -0,0 +1,8 @@
+package org.eclipse.fx.core.bindings;
+
+import javafx.beans.value.ObservableValue;
+import javafx.beans.value.WritableValue;
+
+public interface ObservableWritableValue<T> extends ObservableValue<T>, WritableValue<T> {
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/BaseBidiPropertyBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/BaseBidiPropertyBinding.java
new file mode 100644
index 0000000..48264a5
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/BaseBidiPropertyBinding.java
@@ -0,0 +1,90 @@
+package org.eclipse.fx.core.bindings.internal;
+
+import org.eclipse.fx.core.Status;
+import org.eclipse.fx.core.Status.State;
+import org.eclipse.fx.core.bindings.FXBindings.StatusBinding;
+
+import javafx.beans.InvalidationListener;
+import javafx.beans.Observable;
+import javafx.beans.binding.ObjectBinding;
+
+public abstract class BaseBidiPropertyBinding extends ObjectBinding<Status> implements StatusBinding {
+ private Observable source;
+ private Observable target;
+ private Status curStatus;
+
+ private boolean inUpdate = false;
+
+ public BaseBidiPropertyBinding(Observable target, Observable source) {
+ this.source = source;
+ this.target = target;
+
+ target.addListener(this.onInvalidate);
+ source.addListener(this.onInvalidate);
+
+ _doSourceToTarget();
+ }
+
+ private InvalidationListener onInvalidate = this::onInvalidate;
+ private void onInvalidate(Observable o) {
+ if (o == this.source) {
+ _doSourceToTarget();
+ }
+ else if (o == this.target) {
+ doTargetToSource();
+ }
+ }
+
+ protected abstract void syncTarget();
+
+ private void _doSourceToTarget() {
+ if (this.inUpdate) return;
+ this.inUpdate = true;
+ try {
+ syncTarget();
+ setStatus(Status.ok());
+ }
+ catch (Throwable t) {
+ setStatus(Status.status(State.ERROR, 0, "sourceToTarget failure", t)); //$NON-NLS-1$
+ }
+ finally {
+ this.inUpdate = false;
+ }
+ }
+
+ protected abstract void syncSource();
+
+ private void doTargetToSource() {
+ if (this.inUpdate) return;
+ this.inUpdate = true;
+ try {
+ syncSource();
+ setStatus(Status.ok());
+ }
+ catch (Throwable t) {
+ setStatus(Status.status(State.ERROR, 0, "targetToSource failure", t)); //$NON-NLS-1$
+ }
+ finally {
+ this.inUpdate = false;
+ }
+ }
+
+ @Override
+ public void dispose() {
+ this.source.removeListener(this.onInvalidate);
+ this.target.removeListener(this.onInvalidate);
+ super.dispose();
+ }
+
+
+ private void setStatus(Status s) {
+ this.curStatus = s;
+ invalidate();
+ }
+
+ @Override
+ protected Status computeValue() {
+ return this.curStatus;
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/BindingStreamImpl.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/BindingStreamImpl.java
new file mode 100644
index 0000000..2f3f9b1
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/BindingStreamImpl.java
@@ -0,0 +1,389 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.function.Function;
+
+import org.eclipse.fx.core.bindings.BindingStream;
+import org.eclipse.fx.core.bindings.FXCollector;
+import org.eclipse.jdt.annotation.NonNull;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.property.BooleanProperty;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.FloatProperty;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.Property;
+import javafx.beans.property.SimpleBooleanProperty;
+import javafx.beans.property.SimpleDoubleProperty;
+import javafx.beans.property.SimpleFloatProperty;
+import javafx.beans.property.SimpleIntegerProperty;
+import javafx.beans.property.SimpleLongProperty;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.beans.property.StringProperty;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public class BindingStreamImpl<T> implements BindingStream<T> {
+
+ public final ObservableValue<?> base;
+ public final List<StreamStep<?, ?>> path;
+
+
+ private interface StreamStep<T, S> {
+ S apply(T cur, Set<Observable> toTrack);
+ }
+
+ private static class MapValue<T, S> implements StreamStep<T, S> {
+ private final Function<T, ObservableValue<S>> map;
+ public MapValue(Function<T, ObservableValue<S>> map) {
+ this.map = map;
+ }
+ @SuppressWarnings("null")
+ @Override
+ public S apply(T cur, Set<Observable> toTrack) {
+ if( cur == null ) {
+ return (S)null;
+ }
+ ObservableValue<S> r = this.map.apply((T)cur);
+ toTrack.add(r);
+ return r.getValue();
+ }
+ }
+
+ private static class MapNoObservable<T, S> implements StreamStep<T, S> {
+ private final Function<T, S> map;
+ public MapNoObservable(Function<T, S> map) {
+ this.map = map;
+ }
+ @SuppressWarnings("null")
+ @Override
+ public S apply(T cur, Set<Observable> toTrack) {
+ if( cur == null ) {
+ return (S)null;
+ }
+ return this.map.apply((T)cur);
+ }
+ }
+
+ public static class StreamBinding<T> extends ObjectBinding<T> {
+
+ private ObservableValue<?> base;
+ private List<StreamStep<?, ?>> path;
+
+ private Set<Observable> curToTrack;
+
+ public StreamBinding(ObservableValue<?> base, List<StreamStep<?, ?>> path) {
+ this.base = base;
+ this.path = new ArrayList<>(path);
+ bind(base);
+ this.curToTrack = Collections.singleton(this.base);
+ }
+
+ @Override
+ public void dispose() {
+ if (this.curToTrack != null) {
+ unbind(this.curToTrack.toArray(new Observable[0]));
+ }
+ super.dispose();
+ }
+
+ @SuppressWarnings({"rawtypes", "unchecked"})
+ @Override
+ protected T computeValue() {
+ Set<Observable> toTrack = new HashSet<>();
+ toTrack.add(this.base);
+
+ try {
+ if( this.path.isEmpty() ) {
+ return (T) this.base.getValue();
+ } else {
+ Object cur = this.base.getValue();
+
+ for (StreamStep s : this.path) {
+ cur = s.apply(cur, toTrack);
+ }
+ return (T) cur;
+ }
+ } finally {
+ if (this.curToTrack != null) {
+ unbind(this.curToTrack.toArray(new Observable[0]));
+ }
+ this.curToTrack = toTrack;
+ bind(this.curToTrack.toArray(new Observable[0]));
+
+ }
+ }
+
+ }
+
+
+ public BindingStreamImpl(ObservableValue<?> base) {
+ this.base = base;
+ this.path = new ArrayList<>();
+ }
+
+ private BindingStreamImpl(ObservableValue<?> base, List<StreamStep<?, ?>> path) {
+ this.base = base;
+ this.path = path;
+ }
+
+ @Override
+ public <S> BindingStream<S> map(Function<T, ObservableValue<S>> map) {
+ MapValue<T, S> segment = new MapValue<>(map);
+ this.path.add(segment);
+ return new BindingStreamImpl<S>(this.base, this.path);
+ }
+
+ @Override
+ public <S> BindingStream<S> mapNoObservable(Function<T, S> map) {
+ MapNoObservable<T, S> segment = new MapNoObservable<>(map);
+ this.path.add(segment);
+ return new BindingStreamImpl<S>(this.base, this.path);
+ }
+
+ @Override
+ public ObjectBinding<T> toBinding() {
+ return new StreamBinding<>(this.base, this.path);
+ }
+
+ @Override
+ public <@NonNull R> R collect(FXCollector<T, R> collector) {
+ return collector.finish(this);
+ }
+
+ @Override
+ public <S> Property<S> toProperty(Function<T, Property<S>> map) {
+ // Remember the binding to prevent GC to clean it up
+ ObjectBinding<Property<S>> binding = mapNoObservable(map).toBinding();
+ ObjectProperty<S> rv = new SimpleObjectProperty<S>() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<Property<S>> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set((S)null);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public BooleanProperty toBooleanProperty(Function<T, BooleanProperty> map) {
+ ObjectBinding<BooleanProperty> binding = mapNoObservable(map).toBinding();
+ BooleanProperty rv = new SimpleBooleanProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<BooleanProperty> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(false);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public DoubleProperty toDoubleProperty(Function<T, DoubleProperty> map) {
+ ObjectBinding<DoubleProperty> binding = mapNoObservable(map).toBinding();
+ DoubleProperty rv = new SimpleDoubleProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<DoubleProperty> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0.0);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public FloatProperty toFloatProperty(Function<T, FloatProperty> map) {
+ ObjectBinding<FloatProperty> binding = mapNoObservable(map).toBinding();
+ FloatProperty rv = new SimpleFloatProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<FloatProperty> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0.0f);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public IntegerProperty toIntegerProperty(Function<T, IntegerProperty> map) {
+ ObjectBinding<IntegerProperty> binding = mapNoObservable(map).toBinding();
+ IntegerProperty rv = new SimpleIntegerProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<IntegerProperty> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public LongProperty toLongProperty(Function<T, LongProperty> map) {
+ ObjectBinding<LongProperty> binding = mapNoObservable(map).toBinding();
+ LongProperty rv = new SimpleLongProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<LongProperty> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(0);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public <S> ObjectProperty<S> toObjectProperty(Function<T, ObjectProperty<S>> map) {
+ // Remember the binding to prevent GC to clean it up
+ ObjectBinding<ObjectProperty<S>> binding = mapNoObservable(map).toBinding();
+ ObjectProperty<S> rv = new SimpleObjectProperty<S>() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<ObjectProperty<S>> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set((S)null);
+ }
+ });
+
+ return rv;
+ }
+
+ @Override
+ public StringProperty toStringProperty(Function<T, StringProperty> map) {
+ ObjectBinding<StringProperty> binding = mapNoObservable(map).toBinding();
+ StringProperty rv = new SimpleStringProperty() {
+ @SuppressWarnings("unused")
+ private ObjectBinding<StringProperty> b = binding;
+ };
+
+ if( binding.get() != null ) {
+ rv.bindBidirectional(binding.get());
+ }
+
+ binding.addListener( (o, ol, ne) -> {
+ if( ol != null ) {
+ rv.unbindBidirectional(ol);
+ }
+
+ if( ne != null ) {
+ rv.bindBidirectional(ne);
+ } else {
+ rv.set(null);
+ }
+ });
+
+ return rv;
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/ConcatListBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/ConcatListBinding.java
new file mode 100644
index 0000000..f48751c
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/ConcatListBinding.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import javafx.beans.binding.ListBinding;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+
+
+@SuppressWarnings("javadoc")
+public class ConcatListBinding<A> extends ListBinding<A> {
+
+ private ObservableList<A>[] source;
+
+ @SuppressWarnings("unchecked")
+ public ConcatListBinding(ObservableList<A>... source) {
+ this.source = source;
+ bind(this.source);
+ }
+
+ @Override
+ protected ObservableList<A> computeValue() {
+ return FXCollections.concat(this.source);
+ }
+
+ @Override
+ public void dispose() {
+ unbind(this.source);
+ super.dispose();
+ }
+
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/ConcatStringBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/ConcatStringBinding.java
new file mode 100644
index 0000000..785371e
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/ConcatStringBinding.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import javafx.beans.binding.StringBinding;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public class ConcatStringBinding<T> extends StringBinding {
+ private final String delimiter;
+ private final ObservableValue<T>[] sources;
+
+ @SafeVarargs
+ public ConcatStringBinding(String delimiter, ObservableValue<T>... sources) {
+ this.delimiter = delimiter;
+ this.sources = sources;
+ bind(sources);
+ }
+
+ @Override
+ protected String computeValue() {
+ return Stream.of(this.sources)
+ .map( s -> s.getValue())
+ .map( v -> v == null ? "" : v.toString()) //$NON-NLS-1$
+ .filter( v -> ! v.isEmpty())
+ .collect(Collectors.joining(this.delimiter));
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FixListBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FixListBinding.java
new file mode 100644
index 0000000..7eb07b4
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FixListBinding.java
@@ -0,0 +1,155 @@
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.List;
+import java.util.Objects;
+
+import javafx.beans.binding.ListBinding;
+import javafx.collections.FXCollections;
+import javafx.collections.ListChangeListener;
+import javafx.collections.ListChangeListener.Change;
+import javafx.collections.ObservableList;
+import javafx.collections.WeakListChangeListener;
+
+
+@SuppressWarnings("javadoc")
+public class FixListBinding<A> extends ListBinding<A> {
+ private ObservableList<A> source;
+ private ObservableList<A> fixed;
+
+ private ListChangeListener<A> changeListener = this::onSourceChange;
+ private WeakListChangeListener<A> weakChangeListener = new WeakListChangeListener<>(this.changeListener);
+
+ public FixListBinding(ObservableList<A> source) {
+ this.source = source;
+ this.source.addListener(this.weakChangeListener);
+ }
+
+ private void onSourceChange(Change<? extends A> change) {
+ // make sure that fixed is initialized
+ if (this.fixed == null) {
+ this.fixed = FXCollections.observableArrayList(this.source);
+ }
+ while (change.next()) {
+ // we handle the setAll change explicitly to produce a nice change event
+ if (change.wasRemoved() && change.wasAdded() && change.getRemovedSize() == this.fixed.size()) {
+
+ int maxIdx = Math.max(change.getRemovedSize(), change.getAddedSize());
+ int firstMismatch = -1;
+
+ for (int i = 0; i < maxIdx; i++) {
+ final boolean inRemoved = change.getRemovedSize() > i;
+ final boolean inAdded = change.getAddedSize() > i;
+
+ if (inAdded != inRemoved) {
+ firstMismatch = i;
+ break;
+ }
+
+ if (inAdded && inRemoved) {
+ A removed = change.getRemoved().get(i);
+ A added = change.getAddedSubList().get(i);
+
+ if (added == removed || Objects.equals(added, removed)) {
+ // Safe
+ }
+ else {
+ // first mismatch
+ firstMismatch = i;
+ break;
+ }
+ }
+ }
+
+ int offset = change.getAddedSize() - change.getRemovedSize();
+
+ int firstMatchAfterChange = change.getRemovedSize();
+
+ for (int i = firstMismatch; i < maxIdx; i++) {
+ int idxAdded = i + offset;
+ if (idxAdded < 0) continue;
+
+ final boolean inRemoved = change.getRemovedSize() > i;
+ final boolean inAdded = change.getAddedSize() > idxAdded;
+//
+// if (inRemoved && !inAdded) {
+// firstMatchAfterChange = idxAdded;
+// }
+
+// if (!inAdded) {
+// firstMatchAfterChange = i;
+// if (firstMatchAfterChange == change.getRemovedSize() - 1) firstMatchAfterChange+=1;
+// break;
+// }
+//
+
+ if (inAdded && inRemoved) {
+ A removed = change.getRemoved().get(i);
+ A added = change.getAddedSubList().get(idxAdded);
+
+ if (added == removed || Objects.equals(added, removed)) {
+ // Safe
+ firstMatchAfterChange = i;
+ break;
+ }
+ else {
+ // last mismatch
+ }
+ }
+ }
+
+
+ int removed = firstMatchAfterChange - firstMismatch;
+
+ if (firstMismatch != -1) {
+ List<A> subList = this.fixed.subList(firstMismatch, firstMatchAfterChange);
+ subList.clear();
+ if (offset + removed > 0) {
+ List<? extends A> add = change.getAddedSubList().subList(firstMismatch, firstMismatch + offset + removed);
+ subList.addAll(add);
+ }
+ }
+ else {
+ // replace
+ this.fixed.setAll(change.getAddedSubList());
+ }
+
+ }
+ else {
+ // standard jfx change handling
+ if (change.wasPermutated()) {
+ this.fixed.subList(change.getFrom(), change.getTo())
+ .clear();
+ this.fixed.addAll(change.getFrom(), change.getList()
+ .subList(change.getFrom(), change.getTo()));
+ } else {
+ if (change.wasRemoved()) {
+ this.fixed.subList(change.getFrom(),
+ change.getFrom() + change.getRemovedSize())
+ .clear();
+ }
+ if (change.wasAdded()) {
+ this.fixed.addAll(change.getFrom(),
+ change.getAddedSubList());
+ }
+ }
+ }
+ }
+
+
+ }
+
+ @Override
+ protected ObservableList<A> computeValue() {
+ if (this.fixed == null) {
+ this.fixed = FXCollections.observableArrayList(this.source);
+ }
+ return this.fixed;
+ }
+
+ @Override
+ public void dispose() {
+ this.source.removeListener(this.weakChangeListener);
+ super.dispose();
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FlatMapListBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FlatMapListBinding.java
new file mode 100644
index 0000000..fccdec0
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FlatMapListBinding.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ListBinding;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+
+@SuppressWarnings("javadoc")
+public class FlatMapListBinding<A, B> extends ListBinding<B> {
+
+ private Observable[] currentDependencies;
+
+ private ObservableList<A> source;
+ private Function<A, ObservableList<B>> map;
+
+ public FlatMapListBinding(ObservableList<A> source, Function<A, ObservableList<B>> map) {
+ this.source = source;
+ this.map = map;
+ }
+
+ private Observable[] computeDependencies() {
+ List<Observable> toWatch = this.source.stream().map(this.map).collect(Collectors.toList());
+ toWatch.add(this.source);
+ return toWatch.toArray(new Observable[0]);
+ }
+
+ private void updateDependencies() {
+ if (this.currentDependencies != null) {
+ unbind(this.currentDependencies);
+ }
+ this.currentDependencies = computeDependencies();
+ bind(this.currentDependencies);
+ }
+
+ @Override
+ protected ObservableList<B> computeValue() {
+ this.updateDependencies();
+ return FXCollections.observableList(this.source.stream().map(this.map).flatMap(o->o.stream()).collect(Collectors.toList()));
+ }
+
+ @Override
+ public void dispose() {
+ if (this.currentDependencies != null) {
+ unbind(this.currentDependencies);
+ this.currentDependencies = null;
+ }
+ super.dispose();
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FlatMapValueListBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FlatMapValueListBinding.java
new file mode 100644
index 0000000..3c435e7
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/FlatMapValueListBinding.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ListBinding;
+import javafx.beans.value.ObservableValue;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+
+@SuppressWarnings("javadoc")
+public class FlatMapValueListBinding<A, B> extends ListBinding<B> {
+
+ private Observable[] currentDependencies;
+
+ private ObservableList<A> source;
+ private Function<A, ObservableValue<B>> map;
+
+ public FlatMapValueListBinding(ObservableList<A> list, Function<A, ObservableValue<B>> map) {
+ this.source = list;
+ this.map = map;
+ this.updateDependencies();
+ }
+
+ private Observable[] computeDependencies() {
+ List<Observable> toWatch = this.source.stream().map(this.map).collect(Collectors.toList());
+ toWatch.add(this.source);
+ return toWatch.toArray(new Observable[0]);
+ }
+
+ private void updateDependencies() {
+ if (this.currentDependencies != null) {
+ unbind(this.currentDependencies);
+ }
+ this.currentDependencies = computeDependencies();
+ bind(this.currentDependencies);
+ }
+
+
+ @Override
+ protected ObservableList<B> computeValue() {
+ this.updateDependencies();
+ return FXCollections.observableList(this.source.stream().map(this.map).map(v->v.getValue()).collect(Collectors.toList()));
+ }
+
+ @Override
+ public void dispose() {
+ if (this.currentDependencies != null) {
+ unbind(this.currentDependencies);
+ this.currentDependencies = null;
+ }
+ super.dispose();
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapListBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapListBinding.java
new file mode 100644
index 0000000..c3b59f6
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapListBinding.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javafx.beans.binding.ListBinding;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+
+@SuppressWarnings("javadoc")
+public class MapListBinding<A, B> extends ListBinding<B> {
+
+ private ObservableList<A> source;
+ private Function<A, B> map;
+
+ public MapListBinding(ObservableList<A> source, Function<A, B> map) {
+ this.source = source;
+ this.map = map;
+ bind(this.source);
+ }
+
+ @Override
+ protected ObservableList<B> computeValue() {
+ return FXCollections.observableArrayList(this.source.stream().map(this.map).collect(Collectors.toList()));
+ }
+
+ @Override
+ public void dispose() {
+ unbind(this.source);
+ super.dispose();
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapObjectBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapObjectBinding.java
new file mode 100644
index 0000000..aab300a
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapObjectBinding.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.function.Function;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public class MapObjectBinding<A, B> extends ObjectBinding<B> {
+
+ private ObservableValue<A> source;
+ private Function<A, ObservableValue<B>> map;
+
+ private Observable next = null;
+
+ public MapObjectBinding(ObservableValue<A> source, Function<A, ObservableValue<B>> map) {
+ this.source = source;
+ this.map = map;
+ bind(this.source);
+ }
+
+
+ @SuppressWarnings("null")
+ @Override
+ protected B computeValue() {
+ if (this.next != null) {
+ unbind(this.next);
+ }
+ A sourceVal = this.source.getValue();
+ if (sourceVal != null) {
+ ObservableValue<B> apply = this.map.apply(sourceVal);
+ this.next = apply;
+ bind(this.next);
+ return apply.getValue();
+ }
+ else {
+ return (B) null;
+ }
+ }
+
+ @Override
+ public void dispose() {
+ if (this.next != null) {
+ unbind(this.next);
+ }
+ unbind(this.source);
+ super.dispose();
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapSimpleObjectBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapSimpleObjectBinding.java
new file mode 100644
index 0000000..3dbaa82
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/MapSimpleObjectBinding.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.util.function.Function;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public class MapSimpleObjectBinding<A, B> extends ObjectBinding<B> {
+
+ private ObservableValue<A> source;
+ private Function<A, B> map;
+
+ private Observable next = null;
+
+ public MapSimpleObjectBinding(ObservableValue<A> source, Function<A, B> map) {
+ this.source = source;
+ this.map = map;
+ bind(this.source);
+ }
+
+
+ @SuppressWarnings("null")
+ @Override
+ protected B computeValue() {
+ if (this.next != null) {
+ unbind(this.next);
+ }
+ A sourceVal = this.source.getValue();
+ if (sourceVal != null) {
+ B apply = this.map.apply(sourceVal);
+ return apply;
+ }
+ else {
+ return (B) null;
+ }
+ }
+
+ @Override
+ public void dispose() {
+ unbind(this.source);
+ super.dispose();
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncListBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncListBinding.java
new file mode 100644
index 0000000..a676755
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncListBinding.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import org.eclipse.fx.core.ThreadSynchronize;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ListBinding;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+
+@SuppressWarnings("javadoc")
+public class SyncListBinding<A> extends ListBinding<A> {
+
+ private SyncedBindingHelperObserver observer;
+
+ private ObservableList<A> source;
+ private ThreadSynchronize thread;
+
+ public SyncListBinding(ObservableList<A> source, ThreadSynchronize thread) {
+ this.source = source;
+ this.thread = thread;
+
+ syncedBind(this.source);
+ }
+
+ @Override
+ public void dispose() {
+ syncedUnbind(this.source);
+ super.dispose();
+ }
+
+ @Override
+ protected ObservableList<A> computeValue() {
+ return FXCollections.observableArrayList(this.source);
+ }
+
+ /**
+ * Start observing the dependencies for changes. If the value of one of the
+ * dependencies changes, the binding is marked as invalid.
+ *
+ * @param dependencies
+ * the dependencies to observe
+ */
+ protected final void syncedBind(Observable... dependencies) {
+ if ((dependencies != null) && (dependencies.length > 0)) {
+ if (this.observer == null) {
+ this.observer = new SyncedBindingHelperObserver(this.thread, this);
+ }
+ for (final Observable dep : dependencies) {
+ if (dep != null) {
+ dep.addListener(this.observer);
+ }
+ }
+ }
+ }
+
+ /**
+ * Stop observing the dependencies for changes.
+ *
+ * @param dependencies
+ * the dependencies to stop observing
+ */
+ protected final void syncedUnbind(Observable... dependencies) {
+ if (this.observer != null) {
+ for (final Observable dep : dependencies) {
+ if (dep != null) {
+ dep.removeListener(this.observer);
+ }
+ }
+ this.observer = null;
+ }
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncObjectBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncObjectBinding.java
new file mode 100644
index 0000000..7ae7b83
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncObjectBinding.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import org.eclipse.fx.core.ThreadSynchronize;
+
+import javafx.beans.Observable;
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public class SyncObjectBinding<A> extends ObjectBinding<A> {
+
+ private SyncedBindingHelperObserver observer;
+
+ private ObservableValue<A> source;
+ private ThreadSynchronize thread;
+
+
+ public SyncObjectBinding(ObservableValue<A> source, ThreadSynchronize thread) {
+ this.source = source;
+ this.thread = thread;
+
+ syncedBind(this.source);
+ }
+
+ @Override
+ public void dispose() {
+ syncedUnbind(this.source);
+ super.dispose();
+ }
+
+ @Override
+ protected A computeValue() {
+ return this.source.getValue();
+ }
+
+ /**
+ * Start observing the dependencies for changes. If the value of one of the
+ * dependencies changes, the binding is marked as invalid.
+ *
+ * @param dependencies
+ * the dependencies to observe
+ */
+ protected final void syncedBind(Observable... dependencies) {
+ if ((dependencies != null) && (dependencies.length > 0)) {
+ if (this.observer == null) {
+ this.observer = new SyncedBindingHelperObserver(this.thread, this);
+ }
+ for (final Observable dep : dependencies) {
+ if (dep != null) {
+ dep.addListener(this.observer);
+ }
+ }
+ }
+ }
+
+ /**
+ * Stop observing the dependencies for changes.
+ *
+ * @param dependencies
+ * the dependencies to stop observing
+ */
+ protected final void syncedUnbind(Observable... dependencies) {
+ if (this.observer != null) {
+ for (final Observable dep : dependencies) {
+ if (dep != null) {
+ dep.removeListener(this.observer);
+ }
+ }
+ this.observer = null;
+ }
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncedBindingHelperObserver.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncedBindingHelperObserver.java
new file mode 100644
index 0000000..0041f60
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/SyncedBindingHelperObserver.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Caks<ccaks@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import java.lang.ref.WeakReference;
+import java.util.Objects;
+
+import org.eclipse.fx.core.ThreadSynchronize;
+
+import javafx.beans.InvalidationListener;
+import javafx.beans.Observable;
+import javafx.beans.binding.Binding;
+
+@SuppressWarnings("javadoc")
+public class SyncedBindingHelperObserver implements InvalidationListener {
+
+ private final ThreadSynchronize thread;
+ private final WeakReference<Binding<?>> ref;
+
+ public SyncedBindingHelperObserver(ThreadSynchronize thread, Binding<?> binding) {
+ Objects.requireNonNull(binding);
+ this.ref = new WeakReference<Binding<?>>(binding);
+ this.thread = thread;
+ }
+
+ @Override
+ public void invalidated(Observable observable) {
+ this.thread.asyncExec(()->syncedInvalidated(observable));
+ }
+
+ private void syncedInvalidated(Observable observable) {
+ final Binding<?> binding = this.ref.get();
+ if (binding == null) {
+ observable.removeListener(this);
+ } else {
+ binding.invalidate();
+ }
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/TenaryBinding.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/TenaryBinding.java
new file mode 100644
index 0000000..7a58b70
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/bindings/internal/TenaryBinding.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.bindings.internal;
+
+import org.eclipse.jdt.annotation.Nullable;
+
+import javafx.beans.binding.ObjectBinding;
+import javafx.beans.value.ObservableBooleanValue;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public class TenaryBinding<T> extends ObjectBinding<T> {
+ private final ObservableBooleanValue condition;
+ @Nullable
+ private final ObservableValue<T> obsThen;
+ @Nullable
+ private final ObservableValue<T> _obsElse;
+
+ @Nullable
+ private final T then;
+ @Nullable
+ private final T _else;
+
+ public TenaryBinding(ObservableBooleanValue condition, ObservableValue<T> then, ObservableValue<T> _else) {
+ this.condition = condition;
+ this.then = null;
+ this._else = null;
+ this._obsElse = _else;
+ this.obsThen = then;
+ bind(condition,then,_else);
+ }
+
+ public TenaryBinding(ObservableBooleanValue condition, T then, T _else) {
+ this.condition = condition;
+ this.obsThen = null;
+ this._obsElse = null;
+ this.then = then;
+ this._else = _else;
+ bind(condition);
+ }
+
+ @Override
+ protected T computeValue() {
+ ObservableValue<T> obsThen = this.obsThen;
+ ObservableValue<T> _obsElse = this._obsElse;
+ return this.condition.get() ?
+ (obsThen == null ? this.then : obsThen.getValue()) : ( _obsElse == null ? this._else : _obsElse.getValue());
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/Command.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/Command.java
new file mode 100644
index 0000000..26c12ef
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/Command.java
@@ -0,0 +1,213 @@
+/*******************************************************************************
+ * Copyright (c) 2014 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.command;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.function.Supplier;
+
+import javafx.beans.property.ReadOnlyBooleanProperty;
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.collections.FXCollections;
+import javafx.collections.MapChangeListener;
+import javafx.collections.ObservableMap;
+
+/**
+ * Interface representing a command
+ *
+ * @param <T>
+ * the type returned by this command
+ *
+ * @since 3.0
+ */
+public interface Command<T> {
+
+ /**
+ * A parameter value
+ */
+ public static class ParameterValue {
+ /**
+ * The name of the parameter
+ */
+ public final String name;
+ /**
+ * The value of the parameter
+ */
+ public final String value;
+
+ /**
+ * Create a new parameter value
+ *
+ * @param name
+ * the name
+ * @param value
+ * the value
+ */
+ public ParameterValue(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+ }
+
+ /**
+ * @return property describing the enabled state
+ */
+ public ReadOnlyBooleanProperty enabledProperty();
+
+ /**
+ * @return <code>true</code> if property is enabled
+ */
+ public boolean isEnabled();
+
+ /**
+ * Execute the command with the provided parameters
+ *
+ * @return the result
+ */
+ public Optional<T> execute();
+
+ /**
+ * @return Parameters used to execute the command
+ */
+ public ObservableMap<String, String> parameters();
+
+ /**
+ * Evaluate if the command can be execute
+ */
+ public void evaluate();
+
+ /**
+ * Create a command who uses a supplier
+ *
+ * @param action
+ * the action
+ * @return the command instance
+ */
+ public static <T> Command<T> createCommand(Supplier<T> action) {
+ return createCommand((Function<Map<String,String>, T>) (m -> action.get()));
+ }
+
+ /**
+ * Create a command who uses the runnable
+ *
+ * @param action
+ * the action to run
+ * @return the command instance
+ */
+ public static Command<Void> createCommand(Runnable action) {
+ return createCommand( (Function<Map<String,String>, Void>) (m -> {
+ action.run();
+ return null;
+ }));
+ }
+
+ /**
+ * Create a command who uses the provided consumer
+ * @param action the action
+ * @return the command instance
+ */
+ public static Command<Void> createCommand(Consumer<Map<String, String>> action) {
+ return createCommand((Function<Map<String,String>, Void>) (m -> {
+ action.accept(m);
+ return null;
+ }));
+ }
+
+ /**
+ * Create a simple command executing the provided function
+ *
+ * @param action
+ * the action
+ * @return the command instance
+ */
+ public static <T> Command<T> createCommand(Function<Map<String, String>, T> action) {
+ return new Command<T>() {
+ private ReadOnlyBooleanWrapper enabled = new ReadOnlyBooleanWrapper(this, "enabled", true); //$NON-NLS-1$
+ private ObservableMap<String, String> parameters = FXCollections.observableMap(new HashMap<>());
+
+ @Override
+ public ObservableMap<String, String> parameters() {
+ return this.parameters;
+ }
+
+ @Override
+ public void evaluate() {
+ // nothing to do
+ }
+
+ @Override
+ public ReadOnlyBooleanProperty enabledProperty() {
+ return this.enabled.getReadOnlyProperty();
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return this.enabled.get();
+ }
+
+ @Override
+ public Optional<T> execute() {
+ return Optional.ofNullable(action.apply(new HashMap<>(this.parameters)));
+ }
+ };
+ }
+
+ /**
+ * Create a simple command executing the provided function
+ *
+ * @param action
+ * the action
+ * @param enabledCalculator
+ * predicate to calculate the enabled state
+ * @return the command instance
+ */
+ public static <T> Command<T> createCommand(Function<Map<String, String>, T> action, Predicate<Map<String, String>> enabledCalculator) {
+ return new Command<T>() {
+ private ReadOnlyBooleanWrapper enabled = new ReadOnlyBooleanWrapper(this, "enabled", true); //$NON-NLS-1$
+ private ObservableMap<String, String> parameters = FXCollections.observableMap(new HashMap<>());
+
+ {
+ this.parameters.addListener((MapChangeListener.Change<? extends String, ? extends String> change) -> {
+ evaluate();
+ });
+ }
+
+ @Override
+ public void evaluate() {
+ this.enabled.set(enabledCalculator.test(this.parameters));
+ }
+
+ @Override
+ public ObservableMap<String, String> parameters() {
+ return this.parameters;
+ }
+
+ @Override
+ public ReadOnlyBooleanProperty enabledProperty() {
+ return this.enabled.getReadOnlyProperty();
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return this.enabled.get();
+ }
+
+ @Override
+ public Optional<T> execute() {
+ return Optional.ofNullable(action.apply(new HashMap<>(this.parameters)));
+ }
+ };
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/CommandService.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/CommandService.java
index fc133b0..7ec47a1 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/CommandService.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/command/CommandService.java
@@ -13,6 +13,7 @@
import java.util.Map;
import java.util.Optional;
+import org.eclipse.fx.core.event.Topic;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
@@ -23,6 +24,15 @@
* @noimplement
*/
public interface CommandService {
+ public static final Topic<CommandInfo> TOPIC_COMMAND_NOT_HANDLED = new Topic<>("org/eclipse/fx/core/command/notHandled"); //$NON-NLS-1$
+ public static final Topic<CommandInfo> TOPIC_COMMAND_POST_EXECUTE_SUCCESS = new Topic<>("org/eclipse/fx/core/command/execute/post/success"); //$NON-NLS-1$
+ public static final Topic<Object> TOPIC_COMMAND_POST_EXECUTE_FAIL = new Topic<>("org/eclipse/fx/core/command/execute/post/fail"); //$NON-NLS-1$
+ public static final Topic<Object> TOPIC_COMMAND_PRE_EXECUTE = new Topic<>("org/eclipse/fx/core/command/execute/pre"); //$NON-NLS-1$
+
+ public interface CommandInfo {
+
+ }
+
/**
* Check if a command exits
*
@@ -53,4 +63,14 @@
* @return the return value of the command
*/
public <O> Optional<O> execute(@NonNull String commandId, @NonNull Map<@NonNull String, @Nullable Object> parameters);
+
+ /**
+ * Create a command for the provided id
+ *
+ * @param commandId
+ * the command id
+ * @return the command
+ * @since 3.0
+ */
+ public <O> Optional<Command<O>> createCommand(@NonNull String commandId);
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/event/GlobalEventBus.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/event/GlobalEventBus.java
new file mode 100644
index 0000000..a85359f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/event/GlobalEventBus.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2016 EM-SOFTWARE and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Keimel <c.keimel@emsw.de> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.event;
+
+import java.util.function.Consumer;
+
+import org.eclipse.fx.core.Subscription;
+import org.eclipse.jdt.annotation.Nullable;
+
+/**
+ * EventBus as OSGi Service to send and receive events
+ * that are compatible with the e4 client EventBus
+ */
+public interface GlobalEventBus extends EventBus {
+
+ /**
+ * Publish the event
+ *
+ * @param topic
+ * the topic on which you want to publish the event
+ * @param data
+ * the data to publish
+ * @param synchronous
+ * <code>true</code> returns after the event has been processed
+ * by all subscribers
+ * @since 2.4.0
+ */
+ @Override
+ <T> void publish(Topic<T> topic, T data, boolean synchronous);
+
+ /**
+ * Subscribe to an event topic
+ *
+ * @param topic
+ * the topic
+ * @param consumer
+ * the consumer
+ * @return subscription to cancel the subscribtion
+ * @since 2.4.0
+ */
+ @Override
+ <@Nullable T> Subscription subscribe(Topic<@Nullable T> topic, Consumer<Event<@Nullable T>> consumer);
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/JavaDSServiceProcessor.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/JavaDSServiceProcessor.java
index 37e9e20..90e025d 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/JavaDSServiceProcessor.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/JavaDSServiceProcessor.java
@@ -32,16 +32,19 @@
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
-import org.eclipse.fx.core.RankedService;
-import org.eclipse.fx.core.Util;
-import org.eclipse.fx.core.function.ExExecutor;
+import org.eclipse.fx.core.IOUtils;
+import org.eclipse.fx.core.KeyValueStore;
+import org.eclipse.fx.core.ServiceUtils;
+import org.eclipse.fx.core.ServiceUtils.ServiceReference;
import org.eclipse.fx.core.internal.sm.Component;
import org.eclipse.fx.core.internal.sm.Component11;
import org.eclipse.fx.core.internal.sm.Component12;
import org.eclipse.fx.core.internal.sm.Properties;
+import org.eclipse.fx.core.internal.sm.Property;
import org.eclipse.fx.core.internal.sm.Reference;
import org.eclipse.fx.core.internal.sm.Reference.ReferenceCardinality;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
/**
* Implements parts of the OSGi-DS-Specification resolving services with it's
@@ -51,8 +54,51 @@
private Map<String, Component> componentCache;
private Map<String, List<Component>> serviceList;
private Map<Class<?>, List<?>> serviceCache = new HashMap<>();
+ private Map<Class<?>, List<ServiceReference<?>>> serviceReferenceCache = new HashMap<>();
private static JavaDSServiceProcessor INSTANCE;
+ class JavaServiceReference<S> implements ServiceReference<S> {
+ private final Component c;
+ private S service;
+ private KeyValueStore<String, Object> properties;
+
+ public JavaServiceReference(Component c) {
+ this.c = c;
+ }
+
+ @Override
+ public S get() {
+ if( this.service == null ) {
+ try {
+ Class<?> serviceClass = Class.forName(this.c.getImplementation().getClazz());
+ S service = (S) serviceClass.newInstance();
+ process(service);
+ this.service = service;
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return this.service;
+ }
+
+ @Override
+ public KeyValueStore<String, Object> getProperties() {
+ // TODO create the KeyValueStore lazy
+ if( this.properties == null ) {
+ this.properties = KeyValueStore.fromMap(this.c.getProperty().stream().collect(Collectors.toMap(Property::getName, Property::getValue)));
+ //TODO Implement Properties
+ }
+ // TODO Auto-generated method stub
+ return this.properties;
+ }
+
+ @Override
+ public int getRanking() {
+ Object object = getProperties().contains("service.ranking") ? getProperties().get("service.ranking") : null; //$NON-NLS-1$ //$NON-NLS-2$
+ return object == null ? 0 : object instanceof Integer ? ((Integer)object).intValue() : Integer.parseInt(object.toString());
+ }
+ }
+
/**
* Retrieve all services for the given type ordered by their ranking
*
@@ -69,6 +115,49 @@
return INSTANCE._lookupServiceList(requestor, clazz);
}
+ public synchronized static <S> @NonNull List<@NonNull ServiceReference<@NonNull S>> lookupServiceReferenceList(Class<?> requestor, Class<S> clazz) {
+ if (INSTANCE == null) {
+ INSTANCE = new JavaDSServiceProcessor();
+ }
+ return INSTANCE._lookupServiceReferenceList(requestor, clazz);
+ }
+
+ public static <S> @NonNull List<@NonNull S> lookupServiceList(@Nullable Class<?> requestor,
+ @NonNull String serviceClass) {
+ if (INSTANCE == null) {
+ INSTANCE = new JavaDSServiceProcessor();
+ }
+ Class<S> cl;
+ try {
+ cl = (Class<S>)(Class)Class.forName(serviceClass);
+ return INSTANCE.lookupServiceList(null, cl);
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked", "null" })
+ private synchronized <S> @NonNull List<@NonNull ServiceReference<@NonNull S>> _lookupServiceReferenceList(Class<?> requestor, Class<S> clazz) {
+ List<ServiceReference<?>> list = this.serviceReferenceCache.get(clazz);
+ if( list != null ) {
+ return (List<ServiceReference<S>>)(List)list;
+ }
+ initializeComponentCache();
+
+ List<Component> componentList = this.serviceList.get(clazz.getName());
+ if (componentList != null) {
+ List<ServiceReference<?>> referenceList = componentList
+ .stream()
+ .map(JavaServiceReference::new)
+ .sorted()
+ .collect(Collectors.toList());
+ Collections.reverse(referenceList); // reverse the order so that highest is first
+ this.serviceReferenceCache.put(clazz, referenceList);
+ return (List<ServiceReference<S>>)(List)referenceList;
+ }
+ return Collections.emptyList();
+ }
+
@SuppressWarnings({ "unchecked", "null" })
private synchronized <S> @NonNull List<@NonNull S> _lookupServiceList(Class<?> requestor, Class<S> clazz) {
List<?> list = this.serviceCache.get(clazz);
@@ -77,33 +166,12 @@
}
initializeComponentCache();
- List<Component> componentList = this.serviceList.get(clazz.getName());
- if (componentList != null) {
- List<?> collect = componentList.stream()
- .map(c -> c.getImplementation().getClazz())
- .map(c -> ExExecutor.executeFunction(c, className -> Class.forName(className) , "Could not load class '" + c + "'").orElse(null)) //$NON-NLS-1$ //$NON-NLS-2$
- .filter(c -> c != null)
- .map(c -> {
- if (c != null) {
- return ExExecutor.executeSupplier(c::newInstance, "Could not create instance").get(); //$NON-NLS-1$
- } else {
- return null;
- }
- }).filter(c -> c != null).sorted((o1, o2) -> {
- if (o1 instanceof RankedService && o2 instanceof RankedService) {
- return -1 * Integer.compare(((RankedService) o1).getRanking(), ((RankedService) o2).getRanking());
- } else {
- return 0;
- }
- }).collect(Collectors.toList());
- this.serviceCache.put(clazz, collect);
- collect.stream().forEach(this::process);
- return (List<S>) collect;
- }
- return Collections.emptyList();
+ List<@NonNull S> collect = _lookupServiceReferenceList(requestor, clazz).stream().map(ServiceReference::get).collect(Collectors.toList());
+ this.serviceCache.put(clazz, collect);
+ return collect;
}
- private void process(Object o) {
+ void process(Object o) {
Component component = this.componentCache.get(o.getClass().getName());
if (component != null) {
@@ -211,7 +279,7 @@
switch (cardinality) {
case AT_LEAST_ONE:
case MULTIPLE: {
- List<?> list = Util.lookupServiceList(serviceInterface);
+ List<?> list = ServiceUtils.getServiceList(serviceInterface);
if (cardinality == ReferenceCardinality.AT_LEAST_ONE && list.isEmpty()) {
logError("Unsatisfied dependency '"+r.getIface()+"'. There must be at least one component providing this service", null); //$NON-NLS-1$//$NON-NLS-2$
} else {
@@ -221,7 +289,7 @@
}
case MANDATORY:
case OPTIONAL: {
- Optional<?> service = Util.getService(serviceInterface);
+ Optional<?> service = ServiceUtils.getService(serviceInterface);
if (ReferenceCardinality.MANDATORY == cardinality && !service.isPresent()) {
logError("Unsatisfied dependency '"+r.getIface()+"'. There must be at least one component providing this service", null); //$NON-NLS-1$//$NON-NLS-2$
} else {
@@ -288,7 +356,7 @@
private Component handle(URL resource) {
try (InputStream in = resource.openStream()) {
- String data = Util.readToString(in, Charset.forName("UTF-8")); //$NON-NLS-1$
+ String data = IOUtils.readToString(in, Charset.forName("UTF-8")); //$NON-NLS-1$
JAXBContext jaxbContext;
if (data.contains("http://www.osgi.org/xmlns/scr/v1.1.0")) { //$NON-NLS-1$
jaxbContext = JAXBContext.newInstance(Component11.class);
@@ -304,4 +372,8 @@
}
return null;
}
+
+
+
+
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/OSGiEventBusImpl.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/OSGiEventBusImpl.java
new file mode 100644
index 0000000..90e4254
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/internal/OSGiEventBusImpl.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2016 EM-SOFTWARE and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christoph Keimel <c.keimel@emsw.de> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.internal;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.function.Consumer;
+
+import org.eclipse.fx.core.Subscription;
+import org.eclipse.fx.core.event.Event;
+import org.eclipse.fx.core.event.GlobalEventBus;
+import org.eclipse.fx.core.event.Topic;
+import org.eclipse.jdt.annotation.Nullable;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.event.EventAdmin;
+import org.osgi.service.event.EventConstants;
+import org.osgi.service.event.EventHandler;
+
+/**
+ * Implementation of OSGiEventBus using OSGi EventAdmin Service
+ */
+@Component
+public class OSGiEventBusImpl implements GlobalEventBus {
+
+ /**
+ * Copy of IEventBroker.DATA as not to pull in the dependency on e4
+ */
+ private static final String DATA = "org.eclipse.e4.data"; //$NON-NLS-1$
+
+ private EventAdmin eventAdmin;
+
+ @Reference
+ synchronized void registerMessageService(EventAdmin eventAdmin) {
+ this.eventAdmin = eventAdmin;
+ }
+ synchronized void unregisterMessageService(EventAdmin eventAdmin) {
+ if (this.eventAdmin != null && this.eventAdmin.equals(eventAdmin)) {
+ this.eventAdmin = null;
+ }
+ }
+
+ @Override
+ public <@Nullable T> void publish(Event<T> event, boolean synchronous) {
+ Dictionary<String, Object> d = new Hashtable<String, Object>(2);
+ d.put(EventConstants.EVENT_TOPIC, event.getTopic());
+ d.put(DATA, event.getData());
+ org.osgi.service.event.Event osgiEvent = new org.osgi.service.event.Event(event.getTopic(), d);
+
+ if (synchronous) {
+ this.eventAdmin.sendEvent(osgiEvent);
+ } else {
+ this.eventAdmin.postEvent(osgiEvent);
+ }
+ }
+
+ @Override
+ public <T> void publish(Topic<T> topic, T data, boolean synchronous) {
+ Dictionary<String, Object> d = new Hashtable<String, Object>(2);
+ d.put(EventConstants.EVENT_TOPIC, topic.topic);
+ d.put(DATA, data);
+ org.osgi.service.event.Event event = new org.osgi.service.event.Event(topic.topic, d);
+
+ if (synchronous) {
+ this.eventAdmin.sendEvent(event);
+ } else {
+ this.eventAdmin.postEvent(event);
+ }
+ }
+
+ @Override
+ public void publish(String topic, Object data, boolean synchronous) {
+ publish(new Topic<Object>(topic), data, synchronous);
+ }
+
+ @Override
+ public <@Nullable T> Subscription subscribe(Topic<T> topic, Consumer<Event<T>> consumer) {
+ @SuppressWarnings("unchecked")
+ EventHandler handler = event -> {
+ Object data = event.getProperty(DATA);
+ consumer.accept(new Event<T>(topic, (T)data));
+ };
+ Dictionary<String, Object> properties = new Hashtable<String, Object>(1);
+ properties.put(EventConstants.EVENT_TOPIC, topic.topic);
+ BundleContext bundleContext = FrameworkUtil.getBundle(OSGiEventBusImpl.class).getBundleContext();
+ ServiceRegistration<EventHandler> serviceRegistration = bundleContext.registerService(EventHandler.class, handler, properties);
+ return () -> serviceRegistration.unregister();
+ }
+
+ @Override
+ public <@Nullable T> Subscription subscribe(String topic, Consumer<Event<T>> consumer) {
+ return subscribe(new Topic<T>(topic), consumer);
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/log/Logger.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/log/Logger.java
index 4a8336e..516e72e 100755
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/log/Logger.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/log/Logger.java
@@ -11,9 +11,11 @@
*******************************************************************************/
package org.eclipse.fx.core.log;
+import java.util.function.Function;
import java.util.function.Supplier;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
/**
* Logger interface delegating to real log framework implementation like log4j,
@@ -47,6 +49,26 @@
}
/**
+ * logs a dynamically created message in the specified log level
+ *
+ * @param level
+ * the level
+ * @param value
+ * the value
+ * @param messageCreator
+ * function to create the log message
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T log(@NonNull Level level, @Nullable T value,
+ Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(level)) {
+ log(level, messageCreator.apply(value));
+ }
+ return value;
+ }
+
+ /**
* logs a message and an exception in the specified log level
*
* @param level
@@ -66,7 +88,7 @@
* @param messageSupplier
* the message supplier
* @param t
- * the Exception
+ * the exception
* @since 2.2.0
*/
default void log(@NonNull Level level, @NonNull Supplier<@NonNull String> messageSupplier, @NonNull Throwable t) {
@@ -76,6 +98,29 @@
}
/**
+ * logs a dynamically created message and an exception in the specified log
+ * level
+ *
+ * @param level
+ * the level
+ * @param value
+ * the value to log
+ * @param messageCreator
+ * function to create a message
+ * @param t
+ * the exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T log(@NonNull Level level, @Nullable T value,
+ @NonNull Function<@Nullable T, @NonNull String> messageCreator, @NonNull Throwable t) {
+ if (isEnabled(level)) {
+ log(level, messageCreator.apply(value), t);
+ }
+ return value;
+ }
+
+ /**
* logs a formatted message in the specified log level.
* <p>
* For formatting {@link String#format(String, Object...)} is used. The
@@ -146,6 +191,25 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function)} with
+ * {@link Level#TRACE}
+ *
+ * @param value
+ * the value
+ * @param messageCreator
+ * the message creator
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T trace(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(Level.TRACE)) {
+ trace(messageCreator.apply(value));
+ }
+
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String)} with
* {@link Level#DEBUG}.
*
@@ -170,6 +234,25 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function)} with
+ * {@link Level#DEBUG}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T debug(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(Level.DEBUG)) {
+ debug(messageCreator.apply(value));
+ }
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String)} with
* {@link Level#INFO}.
*
@@ -194,6 +277,26 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function)} with
+ * {@link Level#INFO}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T info(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(Level.INFO)) {
+ info(messageCreator.apply(value));
+ }
+
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String)} with
* {@link Level#WARNING}.
*
@@ -218,6 +321,25 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function)} with
+ * {@link Level#WARNING}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message supplier
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T warning(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(Level.WARNING)) {
+ warning(messageCreator.apply(value));
+ }
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String)} with
* {@link Level#ERROR}.
*
@@ -242,6 +364,25 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function)} with
+ * {@link Level#ERROR}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T error(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(Level.ERROR)) {
+ error(messageCreator.apply(value));
+ }
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String)} with
* {@link Level#FATAL}.
*
@@ -266,6 +407,26 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function)} with
+ * {@link Level#FATAL}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T fatal(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator) {
+ if (isEnabled(Level.FATAL)) {
+ fatal(messageCreator.apply(value));
+ }
+
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String, Throwable)} with
* {@link Level#TRACE}.
*
@@ -294,6 +455,28 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function, Throwable)}
+ * with {@link Level#TRACE}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @param t
+ * the exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T trace(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator,
+ @NonNull Throwable t) {
+ if (isEnabled(Level.TRACE)) {
+ trace(messageCreator.apply(value), t);
+ }
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String, Throwable)} with
* {@link Level#DEBUG}.
*
@@ -322,6 +505,28 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function, Throwable)}
+ * with {@link Level#DEBUG}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @param t
+ * the exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T debug(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator,
+ @NonNull Throwable t) {
+ if (isEnabled(Level.DEBUG)) {
+ debug(messageCreator.apply(value), t);
+ }
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String, Throwable)} with
* {@link Level#INFO}.
*
@@ -350,6 +555,29 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function, Throwable)}
+ * with {@link Level#INFO}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message supplier
+ * @param t
+ * the exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T info(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator,
+ @NonNull Throwable t) {
+ if (isEnabled(Level.INFO)) {
+ info(messageCreator.apply(value), t);
+ }
+
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String, Throwable)} with
* {@link Level#WARNING}.
*
@@ -378,6 +606,29 @@
}
/**
+ * convenience method for {@link #log(Level, Object, Function, Throwable)} with
+ * {@link Level#WARNING}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @param t
+ * the exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T warning(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator,
+ @NonNull Throwable t) {
+ if (isEnabled(Level.WARNING)) {
+ warning(messageCreator.apply(value), t);
+ }
+
+ return value;
+ }
+
+ /**
* convenience method for {@link #log(Level, String, Throwable)} with
* {@link Level#ERROR}.
*
@@ -407,6 +658,29 @@
/**
* convenience method for {@link #log(Level, String, Throwable)} with
+ * {@link Level#ERROR}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @param t
+ * the Exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T error(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator,
+ @NonNull Throwable t) {
+ if (isEnabled(Level.ERROR)) {
+ error(messageCreator.apply(value), t);
+ }
+
+ return value;
+ }
+
+ /**
+ * convenience method for {@link #log(Level, String, Throwable)} with
* {@link Level#FATAL}.
*
* @see #log(Level, String, Throwable)
@@ -434,6 +708,29 @@
}
/**
+ * convenience method for {@link #log(Level, String, Throwable)} with
+ * {@link Level#FATAL}.
+ *
+ * @param value
+ * the value
+ *
+ * @param messageCreator
+ * the message creator
+ * @param t
+ * the Exception
+ * @return the value passed in
+ * @since 3.0.0
+ */
+ default <T> @Nullable T fatal(@Nullable T value, @NonNull Function<@Nullable T, @NonNull String> messageCreator,
+ @NonNull Throwable t) {
+ if (isEnabled(Level.FATAL)) {
+ fatal(messageCreator.apply(value), t);
+ }
+
+ return value;
+ }
+
+ /**
* convenience method for {@link #logf(Level, String, Object...)} with
* {@link Level#TRACE}.
*
@@ -617,25 +914,29 @@
/**
* Trace: Use this log level when you want to track things line by line
*/
- TRACE, /**
- * Debug: Use this log level to help developers debug your
- * application
- */
- DEBUG, /**
- * Info: Use this log level for normal log statements like
- * (request received, ...)
- */
- INFO, /**
- * Warning: Use this log level for problems like informing about
- * a resource pool is getting low, ...
- */
- WARNING, /**
- * Error: Use this log level if something goes wrong e.g. an
- * SQL-Query could not be executed, ...
- */
- ERROR, /**
- * Fatal: Use this log level in case of a sever error
- */
+ TRACE,
+ /**
+ * Debug: Use this log level to help developers debug your application
+ */
+ DEBUG,
+ /**
+ * Info: Use this log level for normal log statements like (request
+ * received, ...)
+ */
+ INFO,
+ /**
+ * Warning: Use this log level for problems like informing about a
+ * resource pool is getting low, ...
+ */
+ WARNING,
+ /**
+ * Error: Use this log level if something goes wrong e.g. an SQL-Query
+ * could not be executed, ...
+ */
+ ERROR,
+ /**
+ * Fatal: Use this log level in case of a sever error
+ */
FATAL
}
}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/.gitignore b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/.gitignore
new file mode 100644
index 0000000..9bb88d3
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/.gitignore
@@ -0,0 +1 @@
+/.DS_Store
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/ValidatedPropertyBase.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/ValidatedPropertyBase.java
index 30b6fed..3857f4b 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/ValidatedPropertyBase.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/property/ValidatedPropertyBase.java
@@ -164,7 +164,9 @@
}
private void _runValidation() {
- Map<String, Object> map = Optional.ofNullable(this.dependencyMap).map(m -> m.entrySet().stream().collect(Collectors.toMap(e -> (String) e.getKey(), e -> (Object) e.getValue().get()))).orElse(new HashMap<>());
+ Map<String, Object> map = Optional.ofNullable(this.dependencyMap)
+ .<Map<String,Object>>map(m -> m.entrySet().stream().collect(Collectors.toMap(Entry::getKey, e -> (Object) e.getValue().get())))
+ .orElse(new HashMap<>());
this.validationStatusList.setAll(this.validationList.stream().map(f -> f.apply(this.bindProperty().getValue(), map)).collect(Collectors.toList()));
this.status.setValue(this.validationStatusList.stream().sorted(STATUS_SORTER).filter(WARNING_ERROR).findFirst().orElse(Status.ok()));
this.validationScheduled.set(false);
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultContent.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultContent.java
new file mode 100644
index 0000000..56b6dd5
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultContent.java
@@ -0,0 +1,984 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.text;
+
+import java.util.Vector;
+
+public class DefaultContent implements TextContent {
+ static class Compatibility {
+ public static int pow2(int n) {
+ if (n >= 1 && n <= 30)
+ return 2 << (n - 1);
+ else if (n != 0) {
+ throw new IllegalArgumentException();
+ }
+ return 1;
+ }
+ }
+
+ static class SWT {
+ public static final char CR = '\r';
+ public static final char LF = '\n';
+ }
+
+ private final static String LineDelimiter = System.getProperty("line.separator"); //$NON-NLS-1$
+
+ Vector<TextChangeListener> textListeners = new Vector<>(); // stores text
+ // listeners for
+ // event sending
+ char[] textStore = new char[0]; // stores the actual text
+ int gapStart = -1; // the character position start of the gap
+ int gapEnd = -1; // the character position after the end of the gap
+ int gapLine = -1; // the line on which the gap exists, the gap will always
+ // be associated with one line
+ int highWatermark = 300;
+ int lowWatermark = 50;
+
+ int[][] lines = new int[50][2]; // array of character positions and lengths
+ // representing the lines of text
+ int lineCount = 0; // the number of lines of text
+ int expandExp = 1; // the expansion exponent, used to increase the lines
+ // array exponentially
+ int replaceExpandExp = 1; // the expansion exponent, used to increase the
+ // lines array exponentially
+
+ /**
+ * Creates a new DefaultContent and initializes it. A
+ * <code>StyledTextContent</> will always have
+ * at least one empty line.
+ */
+ public DefaultContent() {
+ super();
+ setText(""); //$NON-NLS-1$
+ }
+
+ /**
+ * Adds a line to the end of the line indexes array. Increases the size of
+ * the array if necessary. <code>lineCount</code> is updated to reflect the
+ * new entry.
+ * <p>
+ *
+ * @param start
+ * the start of the line
+ * @param length
+ * the length of the line
+ */
+ void addLineIndex(int start, int length) {
+ int size = this.lines.length;
+ if (this.lineCount == size) {
+ // expand the lines by powers of 2
+ int[][] newLines = new int[size + Compatibility.pow2(this.expandExp)][2];
+ System.arraycopy(this.lines, 0, newLines, 0, size);
+ this.lines = newLines;
+ this.expandExp++;
+ }
+ int[] range = new int[] { start, length };
+ this.lines[this.lineCount] = range;
+ this.lineCount++;
+ }
+
+ /**
+ * Adds a line index to the end of <code>linesArray</code>. Increases the
+ * size of the array if necessary and returns a new array.
+ * <p>
+ *
+ * @param start
+ * the start of the line
+ * @param length
+ * the length of the line
+ * @param linesArray
+ * the array to which to add the line index
+ * @param count
+ * the position at which to add the line
+ * @return a new array of line indexes
+ */
+ int[][] addLineIndex(int start, int length, int[][] linesArray, int count) {
+ int size = linesArray.length;
+ int[][] newLines = linesArray;
+ if (count == size) {
+ newLines = new int[size + Compatibility.pow2(this.replaceExpandExp)][2];
+ this.replaceExpandExp++;
+ System.arraycopy(linesArray, 0, newLines, 0, size);
+ }
+ int[] range = new int[] { start, length };
+ newLines[count] = range;
+ return newLines;
+ }
+
+ @Override
+ public void addTextChangeListener(TextChangeListener listener) {
+ if (listener == null)
+ throw new IllegalArgumentException();
+
+ this.textListeners.addElement(listener);
+ }
+
+ /**
+ * Adjusts the gap to accommodate a text change that is occurring.
+ * <p>
+ *
+ * @param position
+ * the position at which a change is occurring
+ * @param sizeHint
+ * the size of the change
+ * @param line
+ * the line where the gap will go
+ */
+ void adjustGap(int position, int sizeHint, int line) {
+ if (position == this.gapStart) {
+ // text is being inserted at the gap position
+ int size = (this.gapEnd - this.gapStart) - sizeHint;
+ if (this.lowWatermark <= size && size <= this.highWatermark)
+ return;
+ } else if ((position + sizeHint == this.gapStart) && (sizeHint < 0)) {
+ // text is being deleted at the gap position
+ int size = (this.gapEnd - this.gapStart) - sizeHint;
+ if (this.lowWatermark <= size && size <= this.highWatermark)
+ return;
+ }
+ moveAndResizeGap(position, sizeHint, line);
+ }
+
+ /**
+ * Calculates the indexes of each line in the text store. Assumes no gap
+ * exists. Optimized to do less checking.
+ */
+ void indexLines() {
+ int start = 0;
+ this.lineCount = 0;
+ int textLength = this.textStore.length;
+ int i;
+ for (i = start; i < textLength; i++) {
+ char ch = this.textStore[i];
+ if (ch == SWT.CR) {
+ // see if the next character is a LF
+ if (i + 1 < textLength) {
+ ch = this.textStore[i + 1];
+ if (ch == SWT.LF) {
+ i++;
+ }
+ }
+ addLineIndex(start, i - start + 1);
+ start = i + 1;
+ } else if (ch == SWT.LF) {
+ addLineIndex(start, i - start + 1);
+ start = i + 1;
+ }
+ }
+ addLineIndex(start, i - start);
+ }
+
+ /**
+ * Returns whether or not the given character is a line delimiter. Both CR
+ * and LF are valid line delimiters.
+ * <p>
+ *
+ * @param ch
+ * the character to test
+ * @return true if ch is a delimiter, false otherwise
+ */
+ static boolean isDelimiter(char ch) {
+ if (ch == SWT.CR)
+ return true;
+ if (ch == SWT.LF)
+ return true;
+ return false;
+ }
+
+ /**
+ * Determine whether or not the replace operation is valid. DefaultContent
+ * will not allow the /r/n line delimiter to be split or partially deleted.
+ * <p>
+ *
+ * @param start
+ * start offset of text to replace
+ * @param replaceLength
+ * start offset of text to replace
+ * @param newText
+ * start offset of text to replace
+ * @return a boolean specifying whether or not the replace operation is
+ * valid
+ */
+ protected boolean isValidReplace(int start, int replaceLength, String newText) {
+ if (replaceLength == 0) {
+ // inserting text, see if the \r\n line delimiter is being split
+ if (start == 0)
+ return true;
+ if (start == getCharCount())
+ return true;
+ char before = getTextRange(start - 1, 1).charAt(0);
+ if (before == '\r') {
+ char after = getTextRange(start, 1).charAt(0);
+ if (after == '\n')
+ return false;
+ }
+ } else {
+ // deleting text, see if part of a \r\n line delimiter is being
+ // deleted
+ char startChar = getTextRange(start, 1).charAt(0);
+ if (startChar == '\n') {
+ // see if char before delete position is \r
+ if (start != 0) {
+ char before = getTextRange(start - 1, 1).charAt(0);
+ if (before == '\r')
+ return false;
+ }
+ }
+ char endChar = getTextRange(start + replaceLength - 1, 1).charAt(0);
+ if (endChar == '\r') {
+ // see if char after delete position is \n
+ if (start + replaceLength != getCharCount()) {
+ char after = getTextRange(start + replaceLength, 1).charAt(0);
+ if (after == '\n')
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Calculates the indexes of each line of text in the given range.
+ * <p>
+ *
+ * @param offset
+ * the logical start offset of the text lineate
+ * @param length
+ * the length of the text to lineate, includes gap
+ * @param numLines
+ * the number of lines to initially allocate for the line index
+ * array, passed in for efficiency (the exact number of lines may
+ * be known)
+ * @return a line indexes array where each line is identified by a start
+ * offset and a length
+ */
+ int[][] indexLines(int offset, int length, int numLines) {
+ int[][] indexedLines = new int[numLines][2];
+ int start = 0;
+ int lineCount = 0;
+ int i;
+ this.replaceExpandExp = 1;
+ for (i = start; i < length; i++) {
+ int location = i + offset;
+ if ((location >= this.gapStart) && (location < this.gapEnd)) {
+ // ignore the gap
+ } else {
+ char ch = this.textStore[location];
+ if (ch == SWT.CR) {
+ // see if the next character is a LF
+ if (location + 1 < this.textStore.length) {
+ ch = this.textStore[location + 1];
+ if (ch == SWT.LF) {
+ i++;
+ }
+ }
+ indexedLines = addLineIndex(start, i - start + 1, indexedLines, lineCount);
+ lineCount++;
+ start = i + 1;
+ } else if (ch == SWT.LF) {
+ indexedLines = addLineIndex(start, i - start + 1, indexedLines, lineCount);
+ lineCount++;
+ start = i + 1;
+ }
+ }
+ }
+ int[][] newLines = new int[lineCount + 1][2];
+ System.arraycopy(indexedLines, 0, newLines, 0, lineCount);
+ int[] range = new int[] { start, i - start };
+ newLines[lineCount] = range;
+ return newLines;
+ }
+
+ /**
+ * Inserts text.
+ * <p>
+ *
+ * @param position
+ * the position at which to insert the text
+ * @param text
+ * the text to insert
+ */
+ void insert(int position, String text) {
+ if (text.length() == 0)
+ return;
+
+ int startLine = getLineAtOffset(position);
+ int change = text.length();
+ boolean endInsert = position == getCharCount();
+ adjustGap(position, change, startLine);
+
+ // during an insert the gap will be adjusted to start at
+ // position and it will be associated with startline, the
+ // inserted text will be placed in the gap
+ int startLineOffset = getOffsetAtLine(startLine);
+ // at this point, startLineLength will include the start line
+ // and all of the newly inserted text
+ int startLineLength = getPhysicalLine(startLine).length();
+
+ if (change > 0) {
+ // shrink gap
+ this.gapStart += (change);
+ for (int i = 0; i < text.length(); i++) {
+ this.textStore[position + i] = text.charAt(i);
+ }
+ }
+
+ // figure out the number of new lines that have been inserted
+ int[][] newLines = indexLines(startLineOffset, startLineLength, 10);
+ // only insert an empty line if it is the last line in the text
+ int numNewLines = newLines.length - 1;
+ if (newLines[numNewLines][1] == 0) {
+ // last inserted line is a new line
+ if (endInsert) {
+ // insert happening at end of the text, leave numNewLines as
+ // is since the last new line will not be concatenated with
+ // another
+ // line
+ numNewLines += 1;
+ } else {
+ numNewLines -= 1;
+ }
+ }
+
+ // make room for the new lines
+ expandLinesBy(numNewLines);
+ // shift down the lines after the replace line
+ for (int i = this.lineCount - 1; i > startLine; i--) {
+ this.lines[i + numNewLines] = this.lines[i];
+ }
+ // insert the new lines
+ for (int i = 0; i < numNewLines; i++) {
+ newLines[i][0] += startLineOffset;
+ this.lines[startLine + i] = newLines[i];
+ }
+ // update the last inserted line
+ if (numNewLines < newLines.length) {
+ newLines[numNewLines][0] += startLineOffset;
+ this.lines[startLine + numNewLines] = newLines[numNewLines];
+ }
+
+ this.lineCount += numNewLines;
+ this.gapLine = getLineAtPhysicalOffset(this.gapStart);
+ }
+
+ /**
+ * Moves the gap and adjusts its size in anticipation of a text change. The
+ * gap is resized to actual size + the specified size and moved to the given
+ * position.
+ * <p>
+ *
+ * @param position
+ * the position at which a change is occurring
+ * @param size
+ * the size of the change
+ * @param newGapLine
+ * the line where the gap should be put
+ */
+ void moveAndResizeGap(int position, int size, int newGapLine) {
+ char[] content = null;
+ int oldSize = this.gapEnd - this.gapStart;
+ int newSize;
+ if (size > 0) {
+ newSize = this.highWatermark + size;
+ } else {
+ newSize = this.lowWatermark - size;
+ }
+ // remove the old gap from the lines information
+ if (gapExists()) {
+ // adjust the line length
+ this.lines[this.gapLine][1] = this.lines[this.gapLine][1] - oldSize;
+ // adjust the offsets of the lines after the gapLine
+ for (int i = this.gapLine + 1; i < this.lineCount; i++) {
+ this.lines[i][0] = this.lines[i][0] - oldSize;
+ }
+ }
+
+ if (newSize < 0) {
+ if (oldSize > 0) {
+ // removing the gap
+ content = new char[this.textStore.length - oldSize];
+ System.arraycopy(this.textStore, 0, content, 0, this.gapStart);
+ System.arraycopy(this.textStore, this.gapEnd, content, this.gapStart, content.length - this.gapStart);
+ this.textStore = content;
+ }
+ this.gapStart = this.gapEnd = position;
+ return;
+ }
+ content = new char[this.textStore.length + (newSize - oldSize)];
+ int newGapStart = position;
+ int newGapEnd = newGapStart + newSize;
+ if (oldSize == 0) {
+ System.arraycopy(this.textStore, 0, content, 0, newGapStart);
+ System.arraycopy(this.textStore, newGapStart, content, newGapEnd, content.length - newGapEnd);
+ } else if (newGapStart < this.gapStart) {
+ int delta = this.gapStart - newGapStart;
+ System.arraycopy(this.textStore, 0, content, 0, newGapStart);
+ System.arraycopy(this.textStore, newGapStart, content, newGapEnd, delta);
+ System.arraycopy(this.textStore, this.gapEnd, content, newGapEnd + delta, this.textStore.length - this.gapEnd);
+ } else {
+ int delta = newGapStart - this.gapStart;
+ System.arraycopy(this.textStore, 0, content, 0, this.gapStart);
+ System.arraycopy(this.textStore, this.gapEnd, content, this.gapStart, delta);
+ System.arraycopy(this.textStore, this.gapEnd + delta, content, newGapEnd, content.length - newGapEnd);
+ }
+ this.textStore = content;
+ this.gapStart = newGapStart;
+ this.gapEnd = newGapEnd;
+
+ // add the new gap to the lines information
+ if (gapExists()) {
+ this.gapLine = newGapLine;
+ // adjust the line length
+ int gapLength = this.gapEnd - this.gapStart;
+ this.lines[this.gapLine][1] = this.lines[this.gapLine][1] + (gapLength);
+ // adjust the offsets of the lines after the gapLine
+ for (int i = this.gapLine + 1; i < this.lineCount; i++) {
+ this.lines[i][0] = this.lines[i][0] + gapLength;
+ }
+ }
+ }
+
+ /**
+ * Returns the number of lines that are in the specified text.
+ * <p>
+ *
+ * @param startOffset
+ * the start of the text to lineate
+ * @param length
+ * the length of the text to lineate
+ * @return number of lines
+ */
+ int lineCount(int startOffset, int length) {
+ if (length == 0) {
+ return 0;
+ }
+ int lineCount = 0;
+ int count = 0;
+ int i = startOffset;
+ if (i >= this.gapStart) {
+ i += this.gapEnd - this.gapStart;
+ }
+ while (count < length) {
+ if ((i >= this.gapStart) && (i < this.gapEnd)) {
+ // ignore the gap
+ } else {
+ char ch = this.textStore[i];
+ if (ch == SWT.CR) {
+ // see if the next character is a LF
+ if (i + 1 < this.textStore.length) {
+ ch = this.textStore[i + 1];
+ if (ch == SWT.LF) {
+ i++;
+ count++;
+ }
+ }
+ lineCount++;
+ } else if (ch == SWT.LF) {
+ lineCount++;
+ }
+ count++;
+ }
+ i++;
+ }
+ return lineCount;
+ }
+
+ /**
+ * Returns the number of lines that are in the specified text.
+ * <p>
+ *
+ * @param text
+ * the text to lineate
+ * @return number of lines in the text
+ */
+ static int lineCount(String text) {
+ int lineCount = 0;
+ int length = text.length();
+ for (int i = 0; i < length; i++) {
+ char ch = text.charAt(i);
+ if (ch == SWT.CR) {
+ if (i + 1 < length && text.charAt(i + 1) == SWT.LF) {
+ i++;
+ }
+ lineCount++;
+ } else if (ch == SWT.LF) {
+ lineCount++;
+ }
+ }
+ return lineCount;
+ }
+
+ /**
+ * @return the logical length of the text store
+ */
+ @Override
+ public int getCharCount() {
+ int length = this.gapEnd - this.gapStart;
+ return (this.textStore.length - length);
+ }
+
+ /**
+ * Returns the line at <code>index</code> without delimiters.
+ * <p>
+ *
+ * @param index
+ * the index of the line to return
+ * @return the logical line text (i.e., without the gap)
+ * @exception IllegalArgumentException
+ * <ul>
+ * <li>ERROR_INVALID_ARGUMENT when index is out of range</li>
+ * </ul>
+ */
+ @SuppressWarnings("null")
+ @Override
+ public String getLine(int index) {
+ if ((index >= this.lineCount) || (index < 0))
+ throw new IllegalArgumentException();
+ int start = this.lines[index][0];
+ int length = this.lines[index][1];
+ int end = start + length - 1;
+ if (!gapExists() || (end < this.gapStart) || (start >= this.gapEnd)) {
+ // line is before or after the gap
+ while ((length - 1 >= 0) && isDelimiter(this.textStore[start + length - 1])) {
+ length--;
+ }
+ return new String(this.textStore, start, length);
+ } else {
+ // gap is in the specified range, strip out the gap
+ StringBuffer buf = new StringBuffer();
+ int gapLength = this.gapEnd - this.gapStart;
+ buf.append(this.textStore, start, this.gapStart - start);
+ buf.append(this.textStore, this.gapEnd, length - gapLength - (this.gapStart - start));
+ length = buf.length();
+ while ((length - 1 >= 0) && isDelimiter(buf.charAt(length - 1))) {
+ length--;
+ }
+ return buf.toString().substring(0, length);
+ }
+ }
+
+ /**
+ * Returns the line delimiter that should be used by the StyledText widget
+ * when inserting new lines. This delimiter may be different than the
+ * delimiter that is used by the <code>StyledTextContent</code> interface.
+ * <p>
+ *
+ * @return the platform line delimiter as specified in the line.separator
+ * system property.
+ */
+ public static String getLineDelimiter() {
+ return LineDelimiter;
+ }
+
+ /**
+ * Returns the line at the given index with delimiters.
+ * <p>
+ *
+ * @param index
+ * the index of the line to return
+ * @return the logical line text (i.e., without the gap) with delimiters
+ */
+ String getFullLine(int index) {
+ int start = this.lines[index][0];
+ int length = this.lines[index][1];
+ int end = start + length - 1;
+ if (!gapExists() || (end < this.gapStart) || (start >= this.gapEnd)) {
+ // line is before or after the gap
+ return new String(this.textStore, start, length);
+ } else {
+ // gap is in the specified range, strip out the gap
+ StringBuffer buffer = new StringBuffer();
+ int gapLength = this.gapEnd - this.gapStart;
+ buffer.append(this.textStore, start, this.gapStart - start);
+ buffer.append(this.textStore, this.gapEnd, length - gapLength - (this.gapStart - start));
+ return buffer.toString();
+ }
+ }
+
+ /**
+ * Returns the physical line at the given index (i.e., with delimiters and
+ * the gap).
+ * <p>
+ *
+ * @param index
+ * the line index
+ * @return the physical line
+ */
+ String getPhysicalLine(int index) {
+ int start = this.lines[index][0];
+ int length = this.lines[index][1];
+ return getPhysicalText(start, length);
+ }
+
+ /**
+ * @return the number of lines in the text store
+ */
+ @Override
+ public int getLineCount() {
+ return this.lineCount;
+ }
+
+ /**
+ * Returns the line at the given offset.
+ * <p>
+ *
+ * @param charPosition
+ * logical character offset (i.e., does not include gap)
+ * @return the line index
+ * @exception IllegalArgumentException
+ * <ul>
+ * <li>ERROR_INVALID_ARGUMENT when charPosition is out of
+ * range</li>
+ * </ul>
+ */
+ @Override
+ public int getLineAtOffset(int charPosition) {
+ if ((charPosition > getCharCount()) || (charPosition < 0))
+ throw new IllegalArgumentException();
+ int position;
+ if (charPosition < this.gapStart) {
+ // position is before the gap
+ position = charPosition;
+ } else {
+ // position includes the gap
+ position = charPosition + (this.gapEnd - this.gapStart);
+ }
+
+ // if last line and the line is not empty you can ask for
+ // a position that doesn't exist (the one to the right of the
+ // last character) - for inserting
+ if (this.lineCount > 0) {
+ int lastLine = this.lineCount - 1;
+ if (position == this.lines[lastLine][0] + this.lines[lastLine][1])
+ return lastLine;
+ }
+
+ int high = this.lineCount;
+ int low = -1;
+ int index = this.lineCount;
+ while (high - low > 1) {
+ index = (high + low) / 2;
+ int lineStart = this.lines[index][0];
+ int lineEnd = lineStart + this.lines[index][1] - 1;
+ if (position <= lineStart) {
+ high = index;
+ } else if (position <= lineEnd) {
+ high = index;
+ break;
+ } else {
+ low = index;
+ }
+ }
+ return high;
+ }
+
+ /**
+ * Returns the line index at the given physical offset.
+ * <p>
+ *
+ * @param position
+ * physical character offset (i.e., includes gap)
+ * @return the line index
+ */
+ int getLineAtPhysicalOffset(int position) {
+ int high = this.lineCount;
+ int low = -1;
+ int index = this.lineCount;
+ while (high - low > 1) {
+ index = (high + low) / 2;
+ int lineStart = this.lines[index][0];
+ int lineEnd = lineStart + this.lines[index][1] - 1;
+ if (position <= lineStart) {
+ high = index;
+ } else if (position <= lineEnd) {
+ high = index;
+ break;
+ } else {
+ low = index;
+ }
+ }
+ return high;
+ }
+
+ /**
+ * Returns the logical offset of the given line.
+ * <p>
+ *
+ * @param lineIndex
+ * index of line
+ * @return the logical starting offset of the line. When there are not any
+ * lines, getOffsetAtLine(0) is a valid call that should answer 0.
+ * @exception IllegalArgumentException
+ * <ul>
+ * <li>ERROR_INVALID_ARGUMENT when lineIndex is out of range
+ * </li>
+ * </ul>
+ */
+ @Override
+ public int getOffsetAtLine(int lineIndex) {
+ if (lineIndex == 0)
+ return 0;
+ if ((lineIndex >= this.lineCount) || (lineIndex < 0))
+ throw new IllegalArgumentException();
+ int start = this.lines[lineIndex][0];
+ if (start > this.gapEnd) {
+ return start - (this.gapEnd - this.gapStart);
+ } else {
+ return start;
+ }
+ }
+
+ /**
+ * Increases the line indexes array to accommodate more lines.
+ * <p>
+ *
+ * @param numLines
+ * the number to increase the array by
+ */
+ void expandLinesBy(int numLines) {
+ int size = this.lines.length;
+ if (size - this.lineCount >= numLines) {
+ return;
+ }
+ int[][] newLines = new int[size + Math.max(10, numLines)][2];
+ System.arraycopy(this.lines, 0, newLines, 0, size);
+ this.lines = newLines;
+ }
+
+ // /**
+ // * Reports an SWT error.
+ // * <p>
+ // *
+ // * @param code the error code
+ // */
+ // void error (int code) {
+ // SWT.error(code);
+ // }
+ /**
+ * Returns whether or not a gap exists in the text store.
+ * <p>
+ *
+ * @return true if gap exists, false otherwise
+ */
+ boolean gapExists() {
+ return this.gapStart != this.gapEnd;
+ }
+
+ /**
+ * Returns a string representing the continuous content of the text store.
+ * <p>
+ *
+ * @param start
+ * the physical start offset of the text to return
+ * @param length
+ * the physical length of the text to return
+ * @return the text
+ */
+ String getPhysicalText(int start, int length) {
+ return new String(this.textStore, start, length);
+ }
+
+ /**
+ * Returns a string representing the logical content of the text store
+ * (i.e., gap stripped out).
+ * <p>
+ *
+ * @param start
+ * the logical start offset of the text to return
+ * @param length
+ * the logical length of the text to return
+ * @return the text
+ */
+ @SuppressWarnings("null")
+ @Override
+ public String getTextRange(int start, int length) {
+ if (this.textStore == null)
+ return ""; //$NON-NLS-1$
+ if (length == 0)
+ return ""; //$NON-NLS-1$
+ int end = start + length;
+ if (!gapExists() || (end < this.gapStart))
+ return new String(this.textStore, start, length);
+ if (this.gapStart < start) {
+ int gapLength = this.gapEnd - this.gapStart;
+ return new String(this.textStore, start + gapLength, length);
+ }
+ StringBuffer buf = new StringBuffer();
+ buf.append(this.textStore, start, this.gapStart - start);
+ buf.append(this.textStore, this.gapEnd, end - this.gapStart);
+ return buf.toString();
+ }
+
+ /**
+ * Removes the specified <code>TextChangeListener</code>.
+ * <p>
+ *
+ * @param listener
+ * the listener which should no longer be notified
+ *
+ * @exception IllegalArgumentException
+ * <ul>
+ * <li>ERROR_NULL_ARGUMENT when listener is null</li>
+ * </ul>
+ */
+ @Override
+ public void removeTextChangeListener(TextChangeListener listener) {
+ if (listener == null) {
+ throw new IllegalArgumentException();
+ }
+
+ this.textListeners.remove(listener);
+ }
+
+ /**
+ * Replaces the text with <code>newText</code> starting at position
+ * <code>start</code> for a length of <code>replaceLength</code>. Notifies
+ * the appropriate listeners.
+ * <p>
+ *
+ * When sending the TextChangingEvent, <code>newLineCount</code> is the
+ * number of lines that are going to be inserted and
+ * <code>replaceLineCount</code> is the number of lines that are going to be
+ * deleted, based on the change that occurs visually. For example:
+ * <ul>
+ * <li>(replaceText,newText) ==> (replaceLineCount,newLineCount)
+ * <li>("","\n") ==> (0,1)
+ * <li>("\n\n","a") ==> (2,0)
+ * </ul>
+ * </p>
+ *
+ * @param start
+ * start offset of text to replace
+ * @param replaceLength
+ * start offset of text to replace
+ * @param newText
+ * start offset of text to replace
+ *
+ */
+ @Override
+ public void replaceTextRange(int start, int replaceLength, String newText) {
+ // check for invalid replace operations
+ if (!isValidReplace(start, replaceLength, newText))
+ throw new IllegalArgumentException();
+
+ // inform listeners
+ TextChangingEvent event = TextChangingEvent.textChanging(this, start, replaceLength, lineCount(start, replaceLength), newText, newText.length(), lineCount(newText));
+ for (TextChangeListener l : this.textListeners) {
+ l.textChanging(event);
+ }
+
+ // first delete the text to be replaced
+ delete(start, replaceLength, event.replaceLineCount + 1);
+ // then insert the new text
+ insert(start, newText);
+ // inform listeners
+ TextChangedEvent textChanged = TextChangedEvent.textChanged(this, start, replaceLength, newText);
+
+ for (TextChangeListener l : this.textListeners) {
+ l.textChanged(textChanged);
+ }
+ }
+
+ /**
+ * Sets the content to text and removes the gap since there are no sensible
+ * predictions about where the next change will occur.
+ * <p>
+ *
+ * @param text
+ * the text
+ */
+ @Override
+ public void setText(String text) {
+ this.textStore = text.toCharArray();
+ this.gapStart = -1;
+ this.gapEnd = -1;
+ this.expandExp = 1;
+ indexLines();
+
+ TextChangedEvent textSet = TextChangedEvent.textSet(this);
+
+ for (TextChangeListener l : this.textListeners) {
+ l.textSet(textSet);
+ }
+ }
+
+ /**
+ * Deletes text.
+ * <p>
+ *
+ * @param position
+ * the position at which the text to delete starts
+ * @param length
+ * the length of the text to delete
+ * @param numLines
+ * the number of lines that are being deleted
+ */
+ void delete(int position, int length, int numLines) {
+ if (length == 0)
+ return;
+
+ int startLine = getLineAtOffset(position);
+ int startLineOffset = getOffsetAtLine(startLine);
+ int endLine = getLineAtOffset(position + length);
+
+ String endText = ""; //$NON-NLS-1$
+ boolean splittingDelimiter = false;
+ if (position + length < getCharCount()) {
+ endText = getTextRange(position + length - 1, 2);
+ if ((endText.charAt(0) == SWT.CR) && (endText.charAt(1) == SWT.LF)) {
+ splittingDelimiter = true;
+ }
+ }
+
+ adjustGap(position + length, -length, startLine);
+ int[][] oldLines = indexLines(position, length + (this.gapEnd - this.gapStart), numLines);
+
+ // enlarge the gap - the gap can be enlarged either to the
+ // right or left
+ if (position + length == this.gapStart) {
+ this.gapStart -= length;
+ } else {
+ this.gapEnd += length;
+ }
+
+ // figure out the length of the new concatenated line, do so by
+ // finding the first line delimiter after position
+ int j = position;
+ boolean eol = false;
+ while (j < this.textStore.length && !eol) {
+ if (j < this.gapStart || j >= this.gapEnd) {
+ char ch = this.textStore[j];
+ if (isDelimiter(ch)) {
+ if (j + 1 < this.textStore.length) {
+ if (ch == SWT.CR && (this.textStore[j + 1] == SWT.LF)) {
+ j++;
+ }
+ }
+ eol = true;
+ }
+ }
+ j++;
+ }
+ // update the line where the deletion started
+ this.lines[startLine][1] = (position - startLineOffset) + (j - position);
+ // figure out the number of lines that have been deleted
+ int numOldLines = oldLines.length - 1;
+ if (splittingDelimiter)
+ numOldLines -= 1;
+ // shift up the lines after the last deleted line, no need to update
+ // the offset or length of the lines
+ for (int i = endLine + 1; i < this.lineCount; i++) {
+ this.lines[i - numOldLines] = this.lines[i];
+ }
+ this.lineCount -= numOldLines;
+ this.gapLine = getLineAtPhysicalOffset(this.gapStart);
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultTextEditActions.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultTextEditActions.java
index 6d5ac51..c933a0d 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultTextEditActions.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/DefaultTextEditActions.java
@@ -10,197 +10,207 @@
/**
* Action to delete previous word
*/
- DELETE_WORD_PREVIOUS,
+ DELETE_WORD_PREVIOUS(true),
/**
* Action to delete next word
*/
- DELETE_WORD_NEXT,
+ DELETE_WORD_NEXT(true),
// NAVIGATION
/**
* Action to go to the next word
*/
- WORD_NEXT,
+ WORD_NEXT(false),
/**
* Action to go to the previous word
*/
- WORD_PREVIOUS,
+ WORD_PREVIOUS(false),
/**
* Action to go to the line start
*/
- LINE_START,
+ LINE_START(false),
/**
* Action to go to the line end
*/
- LINE_END,
+ LINE_END(false),
/**
* Action to go the start of the text
*/
- TEXT_START,
+ TEXT_START(false),
/**
* Action to go the end of the text
*/
- TEXT_END,
+ TEXT_END(false),
/**
* Action to go one page down
*/
- TEXT_PAGE_DOWN,
+ TEXT_PAGE_DOWN(false),
/**
* Action to go one page up
*/
- TEXT_PAGE_UP,
+ TEXT_PAGE_UP(false),
// SELECT
/**
* Action to select the next word
*/
- SELECT_WORD_NEXT,
+ SELECT_WORD_NEXT(false),
/**
* Action to select the previous word
*/
- SELECT_WORD_PREVIOUS,
+ SELECT_WORD_PREVIOUS(false),
/**
* Action to select the word at the current caret position
*/
- SELECT_WORD,
+ SELECT_WORD(false),
/**
* Action to select the line at the current caret position
*/
- SELECT_LINE,
+ SELECT_LINE(false),
/**
* Action to select until the start of the line
*/
- SELECT_LINE_START,
+ SELECT_LINE_START(false),
/**
* Action to select until the end of the line
*/
- SELECT_LINE_END,
+ SELECT_LINE_END(false),
/**
* Action to select to the start of the text
*/
- SELECT_TEXT_START,
+ SELECT_TEXT_START(false),
/**
* Action to select to the end of the text
*/
- SELECT_TEXT_END,
+ SELECT_TEXT_END(false),
/**
* Action to select a page down
*/
- SELECT_TEXT_PAGE_DOWN,
+ SELECT_TEXT_PAGE_DOWN(false),
/**
* Action to select a page up
*/
- SELECT_TEXT_PAGE_UP,
+ SELECT_TEXT_PAGE_UP(false),
// Editing
/**
* Action to create a new line
*/
- NEW_LINE,
+ NEW_LINE(true),
/**
* Action to indent current line
*/
- INDENT,
+ INDENT(true),
/**
* opposite operation of {@link #INDENT}
*/
- OUTDENT,
+ OUTDENT(true),
/**
* Action to select all
*/
- SELECT_ALL,
+ SELECT_ALL(false),
/**
* Action to move lines up
*/
- MOVE_LINES_UP,
+ MOVE_LINES_UP(true),
/**
* Action to move lines down
*/
- MOVE_LINES_DOWN,
+ MOVE_LINES_DOWN(true),
/**
* Action to cut
*/
- CUT,
+ CUT(true),
/**
* Action to copy
*/
- COPY,
+ COPY(false),
/**
* Action to paste
*/
- PASTE,
+ PASTE(true),
/**
* Action to delete
*/
- DELETE,
+ DELETE(true),
/**
* Action to delete previous
*/
- DELETE_PREVIOUS,
+ DELETE_PREVIOUS(true),
/**
* Action to delete line
*/
- DELETE_LINE,
+ DELETE_LINE(true),
/**
* scroll up while keeping the caret
*/
- SCROLL_LINE_UP,
+ SCROLL_LINE_UP(false),
/**
* scroll down while keeping the caret
*/
- SCROLL_LINE_DOWN,
+ SCROLL_LINE_DOWN(false),
/**
* navigate to line
*/
- NAVIGATE_TO_LINE,
+ NAVIGATE_TO_LINE(false),
/**
* move caret up
*/
- MOVE_UP,
+ MOVE_UP(false),
/**
* move caret down
*/
- MOVE_DOWN,
+ MOVE_DOWN(false),
/**
* move caret left
*/
- MOVE_LEFT,
+ MOVE_LEFT(false),
/**
* move caret right
*/
- MOVE_RIGHT,
+ MOVE_RIGHT(false),
/**
* move caret up while selecting
*/
- SELECT_UP,
+ SELECT_UP(false),
/**
* move caret down while selecting
*/
- SELECT_DOWN,
+ SELECT_DOWN(false),
/**
* move caret left while selecting
*/
- SELECT_LEFT,
+ SELECT_LEFT(false),
/**
* move caret right while selecting
*/
- SELECT_RIGHT
+ SELECT_RIGHT(false);
+ private boolean modification;
+
+ private DefaultTextEditActions(boolean modification) {
+ this.modification = modification;
+ }
+
+ @Override
+ public boolean isModification() {
+ return this.modification;
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/SourceTextEditActions.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/SourceTextEditActions.java
index 604ff6d..83a4b6c 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/SourceTextEditActions.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/SourceTextEditActions.java
@@ -11,18 +11,30 @@
/**
* Action triggered on autocomplete
*/
- PROPOSAL_REQUEST,
+ PROPOSAL_REQUEST(true),
/**
* Action to increase font zoom
*/
- FONT_ZOOM_IN,
+ FONT_ZOOM_IN(false),
/**
* Action to decrease font zoom
*/
- FONT_ZOOM_OUT,
+ FONT_ZOOM_OUT(false),
/**
* Action to reset font zoom
*/
- FONT_ZOOM_RESET
-}
+ FONT_ZOOM_RESET(false);
+
+
+ private boolean modification;
+
+ private SourceTextEditActions(boolean modification) {
+ this.modification = modification;
+ }
+
+ @Override
+ public boolean isModification() {
+ return this.modification;
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextChangedEvent.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextChangedEvent.java
new file mode 100644
index 0000000..b02ceea
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextChangedEvent.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2014 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.text;
+
+/**
+ * Event sent when text has changed
+ *
+ * <b>This is an experimental component provided as a preview we'll improve and
+ * fix problems in up coming releases</b>
+ * </p>
+ *
+ * @noreference
+ */
+public class TextChangedEvent {
+
+ /**
+ * The source
+ */
+ public final TextContent source;
+
+ /**
+ * The offset
+ */
+ public final int offset;
+ /**
+ * The number of replaced chars
+ */
+ public final int replaceCharCount;
+ /**
+ * The number of replaced lines
+ */
+ public final int replaceLineCount;
+ /**
+ * The new text
+ */
+ public final String newText;
+ /**
+ * The new char count
+ */
+ public final int newCharCount;
+ /**
+ * The new line count
+ */
+ public final int newLineCount;
+
+ private TextChangedEvent(TextContent source, int offset, int replaceCharCount, int replaceLineCount, String newText, int newCharCount, int newLineCount) {
+ this.source = source;
+ this.offset = offset;
+ this.replaceCharCount = replaceCharCount;
+ this.replaceLineCount = replaceLineCount;
+ this.newText = newText;
+ this.newCharCount = newCharCount;
+ this.newLineCount = newLineCount;
+ }
+
+ /**
+ * Create a text changed event
+ *
+ * @param source
+ * the source
+ * @return the event
+ */
+ public static TextChangedEvent textChanged(TextContent source) {
+ return new TextChangedEvent(source, 0, 0, 0, null, 0, 0);
+ }
+
+ /**
+ * Create a text changed event
+ *
+ * @param source
+ * the source
+ * @param offset
+ * the offset
+ * @param replaceLength
+ * the replacement length
+ * @param newText
+ * the new text
+ * @return the event
+ * @since 2.3.0
+ */
+ public static TextChangedEvent textChanged(TextContent source, int offset, int replaceLength, String newText) {
+ return new TextChangedEvent(source, offset, replaceLength, -1, newText, newText.length(), -1);
+ }
+
+ /**
+ * Create the text set event
+ *
+ * @param source
+ * the source
+ * @return the event
+ */
+ public static TextChangedEvent textSet(TextContent source) {
+ return new TextChangedEvent(source, 0, 0, 0, null, 0, 0);
+ }
+
+ @Override
+ public String toString() {
+ return "TextChangedEvent(offset=" + this.offset + ", replaceCharCount=" + this.replaceCharCount + ", replaceText=" + (this.newText == null ? "null" : "\"" + this.newText + "\"") + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextChangingEvent.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextChangingEvent.java
new file mode 100644
index 0000000..ae7adde
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextChangingEvent.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2014 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.core.text;
+
+/**
+ * Event informing about text changing
+ *
+ * <b>This is an experimental component provided as a preview we'll improve and
+ * fix problems in up coming releases</b>
+ * </p>
+ * @noreference
+ */
+public class TextChangingEvent {
+
+ /**
+ * The source
+ */
+ public final TextContent source;
+
+ /**
+ * The offset
+ */
+ public int offset;
+ /**
+ * The number of replaced chars
+ */
+ public int replaceCharCount;
+ /**
+ * The number of replaced lines
+ */
+ public final int replaceLineCount;
+ /**
+ * The new text
+ */
+ public final String newText;
+ /**
+ * The new char count
+ */
+ public final int newCharCount;
+ /**
+ * The new line count
+ */
+ public final int newLineCount;
+
+ private TextChangingEvent(TextContent source, int offset, int replaceCharCount, int replaceLineCount, String newText, int newCharCount, int newLineCount) {
+ this.source = source;
+ this.offset = offset;
+ this.replaceCharCount = replaceCharCount;
+ this.replaceLineCount = replaceLineCount;
+ this.newText = newText;
+ this.newCharCount = newCharCount;
+ this.newLineCount = newLineCount;
+ }
+
+ /**
+ * Create a new event
+ *
+ * @param source
+ * the source
+ * @param offset
+ * the offset
+ * @param replaceCharCount
+ * the number of replaced chars
+ * @param replaceLineCount
+ * the number of replaced lines
+ * @param newText
+ * the new text
+ * @param newCharCount
+ * the new char count
+ * @param newLineCount
+ * the new line count
+ * @return the event
+ */
+ public static TextChangingEvent textChanging(TextContent source, int offset, int replaceCharCount, int replaceLineCount, String newText, int newCharCount, int newLineCount) {
+ return new TextChangingEvent(source, offset, replaceCharCount, replaceLineCount, newText, newCharCount, newLineCount);
+ }
+
+ @Override
+ public String toString() {
+ return "TextChangingEvent(offset="+this.offset+", replaceCharCount="+this.replaceCharCount+", replaceText=" + (this.newText == null ? "null" : "\""+this.newText+"\"") + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextContent.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextContent.java
new file mode 100644
index 0000000..4ec7ba5
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextContent.java
@@ -0,0 +1,118 @@
+package org.eclipse.fx.core.text;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+public interface TextContent {
+ /**
+ * Get the content of the line with the given index
+ *
+ * @param index
+ * the index
+ * @return the line content
+ */
+ public @NonNull String getLine(int index);
+
+ /**
+ * Get the content for the given range
+ *
+ * @param start
+ * the start
+ * @param length
+ * the length
+ * @return the content
+ */
+ public @NonNull String getTextRange(int start, int length);
+
+ /**
+ * Set a new text content
+ *
+ * @param text
+ * the text
+ */
+ public void setText(@NonNull String text);
+
+ /**
+ * @return number of chars
+ */
+ public int getCharCount();
+
+ /**
+ * @return number of lines
+ */
+ public int getLineCount();
+
+ /**
+ * Get the offset of the line
+ *
+ * @param lineIndex
+ * the line index
+ * @return the offset
+ */
+ public int getOffsetAtLine(int lineIndex);
+
+ /**
+ * Get the line index for the char
+ *
+ * @param charPosition
+ * the char position
+ * @return the line index
+ */
+ public int getLineAtOffset(int charPosition);
+
+ /**
+ * Replace the content in range
+ *
+ * @param start
+ * the start
+ * @param replaceLength
+ * the replaced length
+ * @param newText
+ * the new text
+ */
+ public void replaceTextRange(int start, int replaceLength, @NonNull String newText);
+
+ /**
+ * Attach a change listener
+ *
+ * @param listener
+ * the listener
+ */
+ public void addTextChangeListener(TextChangeListener listener);
+
+ /**
+ * Remove a change listener
+ *
+ * @param listener
+ * the listener
+ */
+ public void removeTextChangeListener(TextChangeListener listener);
+
+ /**
+ * Listener informed above modifications
+ */
+ public interface TextChangeListener {
+ /**
+ * Called after the text has changed
+ *
+ * @param event
+ * the event
+ */
+ public void textChanged(TextChangedEvent event);
+
+ /**
+ * Called after the text has been set
+ *
+ * @param event
+ * the event
+ */
+ public void textSet(TextChangedEvent event);
+
+ /**
+ * Called when the text is changing
+ *
+ * @param event
+ * the event
+ */
+ public void textChanging(TextChangingEvent event);
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextEditAction.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextEditAction.java
index 0391900..53fe25b 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextEditAction.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextEditAction.java
@@ -11,4 +11,11 @@
public final static TextEditAction NOOP = new TextEditAction() {
// empty
};
+
+ /**
+ * @return true if the action modifies the text
+ */
+ public default boolean isModification() {
+ return false;
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextUtil.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextUtil.java
index 509467f..7dab1be 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextUtil.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/text/TextUtil.java
@@ -17,6 +17,7 @@
import java.text.MessageFormat;
import java.text.StringCharacterIterator;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.IntConsumer;
@@ -28,6 +29,8 @@
import org.apache.commons.lang.text.StrLookup;
import org.apache.commons.lang.text.StrSubstitutor;
import org.eclipse.fx.core.IntTuple;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
/**
* Utility methods to deal with texts
@@ -256,6 +259,36 @@
return content;
}
+ /**
+ * Make use the value is not null
+ *
+ * @param value
+ * the nullable value
+ * @param defaultValue
+ * the default if the value is null
+ * @return a nonnull string
+ * @since 2.0
+ */
+ public static @NonNull String notNull(@Nullable String value, @NonNull String defaultValue) {
+ return value == null ? defaultValue : value;
+ }
+
+ /**
+ * Create a string of the same char
+ *
+ * @param c
+ * the character
+ * @param length
+ * the length
+ * @return the created string
+ * @since 2.4.0
+ */
+ public static String createRepeatedString(char c, int length) {
+ char[] vals = new char[length];
+ Arrays.fill(vals, ' ');
+ return String.valueOf(vals);
+ }
+
static class StrLookupImpl extends StrLookup {
private final Map<String, Object> data;
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.emf.databinding/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.emf.databinding/META-INF/MANIFEST.MF
index 4238db5..09610be 100755
--- a/bundles/runtime/org.eclipse.fx.emf.databinding/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Databinding for JavaFX
Bundle-SymbolicName: org.eclipse.fx.emf.databinding
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.osgi.framework;version="1.3.0"
Require-Bundle: org.eclipse.emf.edit;bundle-version="2.7.0",
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.emf.databinding.edit;version="2.6.0"
+Export-Package: org.eclipse.fx.emf.databinding;version="3.0.0"
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/pom.xml b/bundles/runtime/org.eclipse.fx.emf.databinding/pom.xml
index b52adc2..45a5f05 100755
--- a/bundles/runtime/org.eclipse.fx.emf.databinding/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EFXObject.java b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EFXObject.java
new file mode 100644
index 0000000..447c4b7
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EFXObject.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.emf.databinding;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import javafx.beans.property.BooleanProperty;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.FloatProperty;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.StringProperty;
+
+/**
+ * Base interface for an adapted eobject
+ *
+ * @param <O>
+ * the owner type
+ */
+public interface EFXObject<O extends EObject> {
+ /**
+ * Get an {@link ObjectProperty}
+ *
+ * @param type
+ * the type
+ *
+ * @param feature
+ * the feature
+ * @return the property
+ * @throws IllegalArgumentException
+ * if the feature describes a primitive value like int.class,
+ * boolean.class
+ */
+ public <T> ObjectProperty<T> getObjectProperty(Class<T> type, EStructuralFeature feature);
+
+ /**
+ * Get an integer property
+ *
+ * @param feature
+ * the feature
+ * @return the integer property
+ * @throws IllegalArgumentException
+ * if the feature does not describe an int.class type
+ */
+ public IntegerProperty getIntegerProperty(EStructuralFeature feature);
+
+ /**
+ * Get a double property
+ *
+ * @param feature
+ * the feature
+ * @return the double property
+ * @throws IllegalArgumentException
+ * if the feature does not describe an double.class type
+ */
+ public DoubleProperty getDoubleProperty(EStructuralFeature feature);
+
+ /**
+ * Get a string property
+ *
+ * @param feature
+ * the feature
+ * @return the string property
+ * @throws IllegalArgumentException
+ * if the feature does not describe an String.class type
+ */
+ public StringProperty getStringProperty(EStructuralFeature feature);
+
+ /**
+ * Get a float property
+ *
+ * @param feature
+ * the feature
+ * @return the float property
+ * @throws IllegalArgumentException
+ * if the feature does not describe an float.class type
+ */
+ public FloatProperty getFloatProperty(EStructuralFeature feature);
+
+ /**
+ * Get a boolean property
+ *
+ * @param feature
+ * the feature
+ * @return the boolean property
+ * @throws IllegalArgumentException
+ * if the feature does not describe an boolean.class type
+ */
+ public BooleanProperty getBooleanProperty(EStructuralFeature feature);
+
+ /**
+ * Get a long property
+ *
+ * @param feature
+ * the feature
+ * @return the long property
+ * @throws IllegalArgumentException
+ * if the feature does not describe an long.class type
+ */
+ public LongProperty getLongProperty(EStructuralFeature feature);
+}
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EObjectAdaterFactory.java b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EObjectAdaterFactory.java
new file mode 100644
index 0000000..537658f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EObjectAdaterFactory.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.emf.databinding;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.fx.emf.databinding.internal.AdaptedEObject;
+import org.eclipse.jdt.annotation.NonNull;
+
+/**
+ * Factory to create an adapter instance to create observables
+ *
+ * @since 3.0
+ */
+public class EObjectAdaterFactory {
+
+ /**
+ * Adapt the object
+ *
+ * @param ed
+ * the optional editing domain
+ * @param eObject
+ * the emf object
+ * @return the adapted object
+ */
+ public static <@NonNull O extends EObject> EFXObject<O> adapt(EditingDomain ed, O eObject) {
+ return new AdaptedEObject<O>(ed, eObject);
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EProperty.java b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EProperty.java
new file mode 100644
index 0000000..853bdec
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/EProperty.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.emf.databinding;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import javafx.beans.property.Property;
+
+/**
+ * EMF Property
+ *
+ * @param <O>
+ * the owner type
+ * @param <T>
+ * the value type
+ */
+public interface EProperty<O extends EObject, T> extends Property<T> {
+ @Override
+ O getBean();
+
+ /**
+ * @return the emf feature represented by the property
+ */
+ EStructuralFeature getFeature();
+}
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/edit/EMFEditFXProperties.java b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/edit/EMFEditFXProperties.java
deleted file mode 100755
index 69af14d..0000000
--- a/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/edit/EMFEditFXProperties.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/**
- * Copyright (c) 2012 TESIS DYNAware GmbH and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Torsten Sommer <torsten.sommer@tesis.de> - initial API and implementation
- */
-package org.eclipse.fx.emf.databinding.edit;
-
-import javafx.beans.property.ObjectPropertyBase;
-import javafx.beans.property.Property;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.jdt.annotation.NonNull;
-
-/**
- * Factory to create FX-Properties backed by an {@link EObject}s {@link EStructuralFeature}
- */
-public class EMFEditFXProperties {
-
- /**
- * Returns a {@link Property} for the given {@link EStructuralFeature}
- *
- * @param editingDomain
- * the editing domain
- * @param eObject
- * the object
- * @param feature
- * the feature instance the property is created for
- * @param <T> the property type
- * @return a value property for the given {@link EStructuralFeature}
- */
- public static <T> Property<T> value(@NonNull EditingDomain editingDomain, @NonNull EObject eObject, @NonNull EStructuralFeature feature) {
- return new EObjectProperty<>(editingDomain, eObject, feature);
- }
-
- // public static <T> ObservableList<T> list(EditingDomain editingDomain, Notifier owner, EList<T> list) {
- // throw new UnsupportedOperationException("Not implemented");
- // }
- //
- // public static <T> ObservableList<T> list(EditingDomain editingDomain, EObject eObject,
- // EStructuralFeature feature) {
- // throw new UnsupportedOperationException("Not implemented");
- // }
- //
- // static class EObjectObservableList<T> extends ListPropertyBase<T> {
- //
- // EObject eObject;
- // EStructuralFeature feature;
- // EditingDomain editingDomain;
- //
- // public Object getBean() {
- // return eObject;
- // }
- //
- // public String getName() {
- // return feature.getName();
- // }
- //
- // //FIXME Java8
- // // Default methods NOT YET supported by JDT-Core
- // // @Override
- // public void forEach(Consumer<? super T> action) {
- // super.forEach(action);
- // }
- //
- // // @Override
- // public Spliterator<T> spliterator() {
- // return super.spliterator();
- // }
- //
- // }
-
- static class EObjectProperty<T> extends ObjectPropertyBase<T> {
- @NonNull
- private final EObject eObject;
- @NonNull
- private final EStructuralFeature feature;
- @NonNull
- private final EditingDomain editingDomain;
-
- public EObjectProperty(@NonNull EditingDomain editingDomain, @NonNull EObject eObject, @NonNull EStructuralFeature feature) {
- super();
- this.eObject = eObject;
- this.feature = feature;
- this.editingDomain = editingDomain;
-
- eObject.eAdapters().add(new AdapterImpl() {
- @Override
- public void notifyChanged(Notification msg) {
- fireValueChangedEvent();
- }
- });
- }
-
- @Override
- protected void fireValueChangedEvent() {
- super.fireValueChangedEvent();
- }
-
- @Override
- public void setValue(T newValue) {
- Command command = SetCommand.create(this.editingDomain, this.eObject, this.feature, newValue);
- if (command.canExecute())
- this.editingDomain.getCommandStack().execute(command);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public T getValue() {
- return (T) this.eObject.eGet(this.feature);
- }
-
- @Override
- public Object getBean() {
- return this.eObject;
- }
-
- @Override
- public String getName() {
- return this.feature.getName();
- }
-
- }
-
-}
diff --git a/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/internal/AdaptedEObject.java b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/internal/AdaptedEObject.java
new file mode 100644
index 0000000..5baddac
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.emf.databinding/src/org/eclipse/fx/emf/databinding/internal/AdaptedEObject.java
@@ -0,0 +1,543 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.emf.databinding.internal;
+
+import java.lang.ref.WeakReference;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.command.SetCommand;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.fx.emf.databinding.EFXObject;
+import org.eclipse.fx.emf.databinding.EProperty;
+import org.eclipse.jdt.annotation.NonNull;
+
+import javafx.beans.property.BooleanProperty;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.FloatProperty;
+import javafx.beans.property.IntegerProperty;
+import javafx.beans.property.LongProperty;
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.Property;
+import javafx.beans.property.SimpleBooleanProperty;
+import javafx.beans.property.SimpleDoubleProperty;
+import javafx.beans.property.SimpleFloatProperty;
+import javafx.beans.property.SimpleIntegerProperty;
+import javafx.beans.property.SimpleLongProperty;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.beans.property.StringProperty;
+
+
+@SuppressWarnings("javadoc")
+public class AdaptedEObject<@NonNull O extends EObject> implements EFXObject<O> {
+ final Map<EStructuralFeature, Property<?>> map = new HashMap<>();
+ final O eo;
+ private final EditingDomain ed;
+ private Adapter adapter;
+
+ public AdaptedEObject(EditingDomain ed, O eo) {
+ this.eo = eo;
+ this.ed = ed;
+ this.adapter = new MyInnerAdapter(this);
+ this.eo.eAdapters().add(this.adapter);
+ }
+
+ static class MyInnerAdapter extends AdapterImpl {
+ private WeakReference<AdaptedEObject<?>> eo;
+
+ public MyInnerAdapter(AdaptedEObject<?> eo) {
+ this.eo = new WeakReference<AdaptedEObject<?>>(eo);
+ }
+
+ @Override
+ public void notifyChanged(Notification msg) {
+ super.notifyChanged(msg);
+ AdaptedEObject<?> eo = this.eo.get();
+ if( eo == null ) {
+ if( msg.getEventType() != Notification.REMOVING_ADAPTER ) {
+ ((EObject)msg.getNotifier()).eAdapters().remove(this);
+ }
+ } else {
+ Property<Object> property = (Property<Object>) eo.map.get(msg.getFeature());
+ if( property != null && ! property.isBound() ) {
+ //TODO could avoid boxing
+ property.setValue(msg.getNewValue());
+ }
+ }
+ }
+
+ @Override
+ public void setTarget(Notifier newTarget) {
+ super.setTarget(newTarget);
+ }
+ }
+
+ @Override
+ public BooleanProperty getBooleanProperty(EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+ if(feature.getEType().getInstanceClass() == boolean.class) {
+ return (BooleanProperty) this.map.computeIfAbsent(feature, f -> new BooleanPropertyImpl<>(this, f, this.ed));
+ } else {
+ throw new IllegalAccessError("The feature type is not boolean.class"); //$NON-NLS-1$
+ }
+ }
+
+ @Override
+ public DoubleProperty getDoubleProperty(EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+ if(feature.getEType().getInstanceClass() == double.class) {
+ return (DoubleProperty) this.map.computeIfAbsent(feature, f -> new DoublePropertyImpl<>(this, f, this.ed));
+ } else {
+ throw new IllegalAccessError("The feature type is not double.class"); //$NON-NLS-1$
+ }
+ }
+
+ @Override
+ public FloatProperty getFloatProperty(EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+ if(feature.getEType().getInstanceClass() == float.class) {
+ return (FloatProperty) this.map.computeIfAbsent(feature, f -> new FloatPropertyImpl<>(this, f, this.ed));
+ } else {
+ throw new IllegalAccessError("The feature type is not float.class"); //$NON-NLS-1$
+ }
+ }
+
+ @Override
+ public IntegerProperty getIntegerProperty(EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+ if(feature.getEType().getInstanceClass() == int.class) {
+ return (IntegerProperty) this.map.computeIfAbsent(feature, f -> new IntegerPropertyImpl<>(this, f, this.ed));
+ } else {
+ throw new IllegalAccessError("The feature type is not float.class"); //$NON-NLS-1$
+ }
+ }
+
+ @Override
+ public LongProperty getLongProperty(EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+ if(feature.getEType().getInstanceClass() == long.class) {
+ return (LongProperty) this.map.computeIfAbsent(feature, f -> new LongPropertyImpl<>(this, f, this.ed));
+ } else {
+ throw new IllegalAccessError("The feature type is not float.class"); //$NON-NLS-1$
+ }
+ }
+
+ @Override
+ public <T> ObjectProperty<T> getObjectProperty(Class<T> type, EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+
+ if( feature instanceof EReference ) {
+ return (ObjectProperty<T>) map.computeIfAbsent(feature, f -> new ObjectPropertyImpl<>(this, f, ed));
+ } else {
+ Class<?> t = feature.getEType().getInstanceClass();
+ if( t == String.class
+ || t == int.class
+ || t == long.class
+ || t == double.class
+ || t == float.class
+ || t == boolean.class) {
+ throw new IllegalArgumentException("Feature holds a primitive value");
+ } else {
+ return new ObjectPropertyImpl<>(this, feature, this.ed);
+ }
+ }
+ }
+
+ @Override
+ public StringProperty getStringProperty(EStructuralFeature feature) {
+ if( feature.isMany() ) {
+ throw new IllegalArgumentException("Feature is multi valued"); //$NON-NLS-1$
+ }
+ if(feature.getEType().getInstanceClass() == String.class) {
+ return (StringProperty) this.map.computeIfAbsent(feature, f -> new StringPropertyImpl<>(this, f, this.ed));
+ } else {
+ throw new IllegalAccessError("The feature type is not String.class"); //$NON-NLS-1$
+ }
+ }
+
+ static class ObjectPropertyImpl<@NonNull O extends EObject, V> extends SimpleObjectProperty<V> implements EProperty<O, V> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public ObjectPropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set(((V) this.adapter.eo.eGet(this.f)));
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set(((V) this.adapter.eo.eGet(this.f)));
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ V value = get();
+ if( this.adapter.eo.eGet(this.f) != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, value);
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, value);
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+
+ static class BooleanPropertyImpl<@NonNull O extends EObject> extends SimpleBooleanProperty implements EProperty<O, Boolean> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public BooleanPropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set(((Boolean) this.adapter.eo.eGet(this.f)).booleanValue());
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set(((Boolean) this.adapter.eo.eGet(this.f)).booleanValue());
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ boolean value = get();
+ if( ((Boolean) this.adapter.eo.eGet(this.f)).booleanValue() != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, Boolean.valueOf(value));
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, Boolean.valueOf(value));
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+
+ static class FloatPropertyImpl<@NonNull O extends EObject> extends SimpleFloatProperty implements EProperty<O, Number> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public FloatPropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set(((Float) this.adapter.eo.eGet(this.f)).floatValue());
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set(((Float) this.adapter.eo.eGet(this.f)).floatValue());
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ float value = get();
+ if( ((Float) this.adapter.eo.eGet(this.f)).floatValue() != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, Float.valueOf(value));
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, Float.valueOf(value));
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+
+ static class LongPropertyImpl<@NonNull O extends EObject> extends SimpleLongProperty implements EProperty<O, Number> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public LongPropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set(((Long) this.adapter.eo.eGet(this.f)).longValue());
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set(((Long) this.adapter.eo.eGet(this.f)).longValue());
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ long value = get();
+ if( ((Long) this.adapter.eo.eGet(this.f)).longValue() != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, Long.valueOf(value));
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, Long.valueOf(value));
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+
+ static class IntegerPropertyImpl<@NonNull O extends EObject> extends SimpleIntegerProperty implements EProperty<O, Number> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public IntegerPropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set(((Integer) this.adapter.eo.eGet(this.f)).intValue());
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set(((Integer) this.adapter.eo.eGet(this.f)).intValue());
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ int value = get();
+ if( ((Integer) this.adapter.eo.eGet(this.f)).intValue() != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, Integer.valueOf(value));
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, Integer.valueOf(value));
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+
+ static class DoublePropertyImpl<@NonNull O extends EObject> extends SimpleDoubleProperty implements EProperty<O, Number> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public DoublePropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set(((Double) this.adapter.eo.eGet(this.f)).doubleValue());
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set(((Double) this.adapter.eo.eGet(this.f)).doubleValue());
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ double value = get();
+ if( ((Double) this.adapter.eo.eGet(this.f)).doubleValue() != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, Double.valueOf(value));
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, Double.valueOf(value));
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+
+ static class StringPropertyImpl<@NonNull O extends EObject> extends SimpleStringProperty implements EProperty<O, String> {
+ private final AdaptedEObject<O> adapter;
+ private final EStructuralFeature f;
+ private final EditingDomain ed;
+
+ public StringPropertyImpl(AdaptedEObject<O> adapter, EStructuralFeature f, EditingDomain ed) {
+ this.adapter = adapter;
+ this.f = f;
+ this.ed = ed;
+ set((String) adapter.eo.eGet(f));
+ }
+
+ @Override
+ public O getBean() {
+ return this.adapter.eo;
+ }
+
+ @Override
+ public EStructuralFeature getFeature() {
+ return this.f;
+ }
+
+ @Override
+ public String getName() {
+ return this.f.getName();
+ }
+
+ @Override
+ public void unbind() {
+ super.unbind();
+ set((String) this.adapter.eo.eGet(this.f));
+ }
+
+ @Override
+ protected void invalidated() {
+ super.invalidated();
+
+ String value = get();
+ if( this.adapter.eo.eGet(this.f) != value ) {
+ if( this.ed == null ) {
+ this.adapter.eo.eSet(this.f, value);
+ } else {
+ Command command = SetCommand.create(this.ed, this.adapter.eo, this.f, value);
+ if( command.canExecute() ) {
+ this.ed.getCommandStack().execute(command);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.emf.edit.ui/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.emf.edit.ui/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.emf.edit.ui/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.emf.edit.ui/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.emf.edit.ui/META-INF/MANIFEST.MF
index d71a523..27c36b8 100755
--- a/bundles/runtime/org.eclipse.fx.emf.edit.ui/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.emf.edit.ui/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
Bundle-ManifestVersion: 2
Bundle-Name: EMF Edit UI for JavaFX
Bundle-SymbolicName: org.eclipse.fx.emf.edit.ui
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.emf.edit;bundle-version="2.7.0",
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.emf.edit.ui;version="2.6.0",
- org.eclipse.fx.emf.edit.ui.dnd;version="2.6.0"
+Export-Package: org.eclipse.fx.emf.edit.ui;version="3.0.0",
+ org.eclipse.fx.emf.edit.ui.dnd;version="3.0.0"
Bundle-Vendor: Eclipse.org
-Import-Package: org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.ui.controls.tree;version="2.6.0"
+Import-Package: org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.ui.controls.tree;version="3.0.0"
diff --git a/bundles/runtime/org.eclipse.fx.emf.edit.ui/pom.xml b/bundles/runtime/org.eclipse.fx.emf.edit.ui/pom.xml
index a37d887..18f7426 100755
--- a/bundles/runtime/org.eclipse.fx.emf.edit.ui/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.emf.edit.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.formats.svg/META-INF/MANIFEST.MF
index e923826..26cd19d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.fx.formats.svg;singleton:=true
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.ecore b/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.ecore
index e01299b..3cada88 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.ecore
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.ecore
@@ -900,6 +900,7 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dy" eType="#//ListOfLengths"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="rotate" eType="#//ListOfNumbers"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="textLength" eType="#//Length"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="textContent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eGenericSuperTypes eClassifier="#//SvgElement"/>
<eGenericSuperTypes eClassifier="#//GraphicsElement"/>
<eGenericSuperTypes eClassifier="#//TextContentElement"/>
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.genmodel b/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.genmodel
index f263ec7..61f1b41 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.genmodel
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/model/svg.genmodel
@@ -1,257 +1,384 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.fx.formats.svg/src" modelPluginID="org.eclipse.fx.formats.svg"
- modelName="Svg" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+ modelName="Svg" importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0"
copyrightFields="false">
<foreignModel>svg.ecore</foreignModel>
<genPackages prefix="Svg" basePackage="org.eclipse.fx.formats.svg" disposableProviderFactory="true"
ecorePackage="svg.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//alignment_baseline">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/baseline"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/before_edge"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/text_before_edge"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/middle"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/central"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/after_edge"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/text_after_edge"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/ideographic"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/alphabetic"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/hanging"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/mathematical"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//alignment_baseline/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Alignment_baseline">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/baseline"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/before_edge"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/text_before_edge"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/middle"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/central"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/after_edge"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/text_after_edge"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/ideographic"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/alphabetic"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/hanging"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/mathematical"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Alignment_baseline/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//clip_rule">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//clip_rule/nonzero"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//clip_rule/evenodd"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//clip_rule/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Clip_rule">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Clip_rule/nonzero"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Clip_rule/evenodd"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Clip_rule/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//color_interpolation">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation/sRGB"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation/linearRGB"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Color_interpolation">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation/sRGB"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation/linearRGB"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//color_interpolation_filters">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation_filters/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation_filters/sRGB"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation_filters/linearRGB"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_interpolation_filters/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Color_interpolation_filters">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation_filters/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation_filters/sRGB"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation_filters/linearRGB"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_interpolation_filters/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//color_rendering">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_rendering/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_rendering/optimizeSpeed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_rendering/optimizeQuality"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//color_rendering/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Color_rendering">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_rendering/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_rendering/optimizeSpeed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_rendering/optimizeQuality"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Color_rendering/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//direction">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//direction/ltr"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//direction/rtl"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//direction/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Direction">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Direction/ltr"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Direction/rtl"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Direction/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//display">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/inline"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/block"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/list_item"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/run_in"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/compact"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/marker"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/inline_table"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_row_group"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_header_group"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_footer_group"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_row"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_column_group"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_column"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_cell"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/table_caption"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/none"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//display/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Display">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/inline"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/block"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/list_item"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/run_in"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/compact"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/marker"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/inline_table"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_row_group"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_header_group"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_footer_group"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_row"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_column_group"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_column"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_cell"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/table_caption"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/none"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Display/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//dominant_baseline">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/use_script"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/no_change"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/reset_size"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/ideographic"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/alphabetic"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/hanging"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/mathematical"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/central"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/middle"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/text_after_edge"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/text_before_edge"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//dominant_baseline/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Dominant_baseline">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/use_script"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/no_change"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/reset_size"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/ideographic"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/alphabetic"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/hanging"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/mathematical"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/central"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/middle"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/text_after_edge"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/text_before_edge"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Dominant_baseline/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//fill_rule">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//fill_rule/nonzero"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//fill_rule/evenodd"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//fill_rule/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Fill_rule">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Fill_rule/nonzero"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Fill_rule/evenodd"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Fill_rule/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//font_stretch">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/normal"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/wider"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/narrower"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/ultra_condensed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/extra_condensed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/condensed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/semi_condensed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/semi_expanded"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/expanded"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/extra_expanded"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/ultra_expanded"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_stretch/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Font_stretch">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/normal"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/wider"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/narrower"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/ultra_condensed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/extra_condensed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/condensed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/semi_condensed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/semi_expanded"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/expanded"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/extra_expanded"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/ultra_expanded"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_stretch/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//font_style">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_style/normal"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_style/italic"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_style/oblique"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_style/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Font_style">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_style/normal"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_style/italic"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_style/oblique"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_style/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//font_variant">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_variant/normal"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_variant/small_caps"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_variant/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Font_variant">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_variant/normal"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_variant/small_caps"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_variant/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//font_weight">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/normal"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/bold"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/bolder"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/lighter"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em100"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em200"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em300"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em400"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em500"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em600"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em700"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em800"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/em900"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//font_weight/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Font_weight">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/normal"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/bold"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/bolder"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/lighter"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em100"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em200"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em300"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em400"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em500"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em600"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em700"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em800"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/em900"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Font_weight/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//image_rendering">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//image_rendering/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//image_rendering/optimizeSpeed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//image_rendering/optimizeQuality"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//image_rendering/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Image_rendering">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Image_rendering/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Image_rendering/optimizeSpeed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Image_rendering/optimizeQuality"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Image_rendering/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//overflow">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//overflow/visible"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//overflow/hidden"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//overflow/scroll"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//overflow/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//overflow/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Overflow">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Overflow/visible"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Overflow/hidden"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Overflow/scroll"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Overflow/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Overflow/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//pointer_events">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/visiblePainted"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/visibleFill"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/visibleStroke"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/visible"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/painted"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/fill"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/stroke"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/all"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/none"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//pointer_events/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Pointer_events">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/visiblePainted"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/visibleFill"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/visibleStroke"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/visible"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/painted"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/fill"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/stroke"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/all"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/none"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Pointer_events/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//shape_rendering">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//shape_rendering/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//shape_rendering/optimizeSpeed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//shape_rendering/crispEdges"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//shape_rendering/geometricPrecision"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//shape_rendering/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Shape_rendering">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Shape_rendering/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Shape_rendering/optimizeSpeed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Shape_rendering/crispEdges"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Shape_rendering/geometricPrecision"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Shape_rendering/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//stroke_linecap">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linecap/butt"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linecap/round"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linecap/square"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linecap/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Stroke_linecap">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linecap/butt"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linecap/round"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linecap/square"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linecap/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//stroke_linejoin">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linejoin/miter"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linejoin/round"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linejoin/bevel"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//stroke_linejoin/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Stroke_linejoin">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linejoin/miter"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linejoin/round"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linejoin/bevel"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Stroke_linejoin/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//text_anchor">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_anchor/start"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_anchor/middle"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_anchor/end"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_anchor/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Text_anchor">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_anchor/start"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_anchor/middle"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_anchor/end"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_anchor/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//text_rendering">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_rendering/auto"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_rendering/optimizeSpeed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_rendering/optimizeLegibility"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_rendering/geometricPrecision"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//text_rendering/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Text_rendering">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_rendering/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_rendering/optimizeSpeed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_rendering/optimizeLegibility"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_rendering/geometricPrecision"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Text_rendering/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//unicode_bidi">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//unicode_bidi/normal"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//unicode_bidi/embed"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//unicode_bidi/bidi_override"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//unicode_bidi/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Unicode_bidi">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Unicode_bidi/normal"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Unicode_bidi/embed"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Unicode_bidi/bidi_override"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Unicode_bidi/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//visibility">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//visibility/visible"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//visibility/hidden"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//visibility/collapse"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//visibility/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Visibility">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Visibility/visible"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Visibility/hidden"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Visibility/collapse"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Visibility/inherit"/>
</genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//writing_mode">
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/lr_tb"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/rl_tb"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/tb_rl"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/lr"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/rl"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/tb"/>
- <genEnumLiterals ecoreEnumLiteral="svg.ecore#//writing_mode/inherit"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Writing_mode">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/lr_tb"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/rl_tb"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/tb_rl"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/lr"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/rl"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/tb"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Writing_mode/inherit"/>
</genEnums>
- <genDataTypes ecoreDataType="svg.ecore#//length"/>
- <genDataTypes ecoreDataType="svg.ecore#//angle"/>
- <genDataTypes ecoreDataType="svg.ecore#//percentage"/>
- <genDataTypes ecoreDataType="svg.ecore#//shape"/>
- <genDataTypes ecoreDataType="svg.ecore#//funciri"/>
- <genDataTypes ecoreDataType="svg.ecore#//color"/>
- <genDataTypes ecoreDataType="svg.ecore#//paint"/>
- <genDataTypes ecoreDataType="svg.ecore#//opacity_value"/>
- <genDataTypes ecoreDataType="svg.ecore#//baseline_shift"/>
- <genDataTypes ecoreDataType="svg.ecore#//clip"/>
- <genDataTypes ecoreDataType="svg.ecore#//clip_path"/>
- <genDataTypes ecoreDataType="svg.ecore#//color_profile"/>
- <genDataTypes ecoreDataType="svg.ecore#//cursor"/>
- <genDataTypes ecoreDataType="svg.ecore#//enable_background"/>
- <genDataTypes ecoreDataType="svg.ecore#//fill"/>
- <genDataTypes ecoreDataType="svg.ecore#//fill_opacity"/>
- <genDataTypes ecoreDataType="svg.ecore#//filter"/>
- <genDataTypes ecoreDataType="svg.ecore#//flood_color"/>
- <genDataTypes ecoreDataType="svg.ecore#//flood_opacity"/>
- <genDataTypes ecoreDataType="svg.ecore#//font_family"/>
- <genDataTypes ecoreDataType="svg.ecore#//font_size"/>
- <genDataTypes ecoreDataType="svg.ecore#//font_size_adjust"/>
- <genDataTypes ecoreDataType="svg.ecore#//glyph_orientation_horizontal"/>
- <genDataTypes ecoreDataType="svg.ecore#//glyph_orientation_vertical"/>
- <genDataTypes ecoreDataType="svg.ecore#//kerning"/>
- <genDataTypes ecoreDataType="svg.ecore#//letter_spacing"/>
- <genDataTypes ecoreDataType="svg.ecore#//lighting_color"/>
- <genDataTypes ecoreDataType="svg.ecore#//marker_end"/>
- <genDataTypes ecoreDataType="svg.ecore#//marker_mid"/>
- <genDataTypes ecoreDataType="svg.ecore#//marker_start"/>
- <genDataTypes ecoreDataType="svg.ecore#//masks"/>
- <genDataTypes ecoreDataType="svg.ecore#//opacity"/>
- <genDataTypes ecoreDataType="svg.ecore#//stop_color"/>
- <genDataTypes ecoreDataType="svg.ecore#//stop_opacity"/>
- <genDataTypes ecoreDataType="svg.ecore#//stroke"/>
- <genDataTypes ecoreDataType="svg.ecore#//stroke_dasharray"/>
- <genDataTypes ecoreDataType="svg.ecore#//stroke_dashoffset"/>
- <genDataTypes ecoreDataType="svg.ecore#//stroke_miterlimit"/>
- <genDataTypes ecoreDataType="svg.ecore#//stroke_opacity"/>
- <genDataTypes ecoreDataType="svg.ecore#//stroke_width"/>
- <genDataTypes ecoreDataType="svg.ecore#//text_decoration"/>
- <genDataTypes ecoreDataType="svg.ecore#//word_spacing"/>
- <genClasses ecoreClass="svg.ecore#//ContainerElement"/>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//ZoomAndPan">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ZoomAndPan/disable"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ZoomAndPan/magnify"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//LengthAdjust">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//LengthAdjust/spacing"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//LengthAdjust/spacingAndGlyphs"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Method">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Method/align"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Method/stretch"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Spacing">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Spacing/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Spacing/exact"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//MarkerUnits">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//MarkerUnits/strokeWidth"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//MarkerUnits/userSpaceOnUse"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//Rendering_intent">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Rendering_intent/auto"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Rendering_intent/perceptual"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Rendering_intent/relative_colorimetric"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Rendering_intent/saturation"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//Rendering_intent/absolute_colorimetric"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//GradientUnits">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//GradientUnits/userSpaceOnUse"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//GradientUnits/objectBoundingBox"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//SpreadMethod">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//SpreadMethod/pad"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//SpreadMethod/reflect"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//SpreadMethod/repeat"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//PatternUnits">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//PatternUnits/userSpaceOnUse"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//PatternUnits/objectBoundingBox"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//ClipPathUnits">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ClipPathUnits/userSpaceOnUse"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ClipPathUnits/objectBoundingBox"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//MaskUnits">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//MaskUnits/userSpaceOnUse"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//MaskUnits/objectBoundingBox"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//FilterUnits">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//FilterUnits/userSpaceOnUse"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//FilterUnits/objectBoundingBox"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//BlendMode">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//BlendMode/normal"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//BlendMode/lighten"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//BlendMode/multiply"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//BlendMode/screen"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//BlendMode/darken"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//ColorMatrixType">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ColorMatrixType/matrix"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ColorMatrixType/saturate"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ColorMatrixType/hueRotate"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ColorMatrixType/luminanceToAlpha"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//CompositeOperator">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//CompositeOperator/over"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//CompositeOperator/in"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//CompositeOperator/out"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//CompositeOperator/atop"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//CompositeOperator/xor"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//CompositeOperator/arithmetic"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//ConvolveMatrixEdgeMode">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ConvolveMatrixEdgeMode/duplicate"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ConvolveMatrixEdgeMode/wrap"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ConvolveMatrixEdgeMode/none"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//ChannelSelector">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ChannelSelector/R"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ChannelSelector/G"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ChannelSelector/B"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//ChannelSelector/A"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//MorphologyOperator">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//MorphologyOperator/erode"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//MorphologyOperator/dilate"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//StitchTiles">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//StitchTiles/stitch"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//StitchTiles/noStitch"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="svg.ecore#//TurbulenceType">
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//TurbulenceType/fractalNoise"/>
+ <genEnumLiterals ecoreEnumLiteral="svg.ecore#//TurbulenceType/turbulence"/>
+ </genEnums>
+ <genDataTypes ecoreDataType="svg.ecore#//Length"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Angle"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Percentage"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Shape"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Funciri"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Color"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Paint"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Opacity_value"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Baseline_shift"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Clip"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Clip_path"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Color_profile"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Cursor"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Enable_background"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Fill"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Fill_opacity"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Filter"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Flood_color"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Flood_opacity"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Font_family"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Font_size"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Font_size_adjust"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Glyph_orientation_horizontal"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Glyph_orientation_vertical"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Kerning"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Letter_spacing"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Lighting_color"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Marker_end"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Marker_mid"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Marker_start"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Masks"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Opacity"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stop_color"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stop_opacity"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stroke"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stroke_dasharray"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stroke_dashoffset"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stroke_miterlimit"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stroke_opacity"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Stroke_width"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Text_decoration"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Word_spacing"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Coordinate"/>
+ <genDataTypes ecoreDataType="svg.ecore#//ViewBox"/>
+ <genDataTypes ecoreDataType="svg.ecore#//PreserveAspectRatio"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Number"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Transform"/>
+ <genDataTypes ecoreDataType="svg.ecore#//PathData"/>
+ <genDataTypes ecoreDataType="svg.ecore#//ListOfPoints"/>
+ <genDataTypes ecoreDataType="svg.ecore#//ListOfLengths"/>
+ <genDataTypes ecoreDataType="svg.ecore#//ListOfNumbers"/>
+ <genDataTypes ecoreDataType="svg.ecore#//ListOfCoordinates"/>
+ <genDataTypes ecoreDataType="svg.ecore#//Name"/>
+ <genDataTypes ecoreDataType="svg.ecore#//NumberOptionalNumber"/>
+ <genDataTypes ecoreDataType="svg.ecore#//TransformList"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//ContentElement">
+ <genTypeParameters ecoreTypeParameter="svg.ecore#//ContentElement/T"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference svg.ecore#//ContentElement/children"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//ContainerElement">
+ <genTypeParameters ecoreTypeParameter="svg.ecore#//ContainerElement/T"/>
+ </genClasses>
<genClasses ecoreClass="svg.ecore#//StructuralElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//SvgElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//DescriptiveElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//GraphicsElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//GraphicsReferencingElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//ShapeElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//BasicShapeElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//TextContentElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//TextContentChildElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//GradientElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//LightSourceElement"/>
+ <genClasses image="false" ecoreClass="svg.ecore#//FilterPrimitiveElement"/>
+ <genClasses ecoreClass="svg.ecore#//AnimationElement"/>
<genClasses ecoreClass="svg.ecore#//____ENUMS____"/>
<genClasses ecoreClass="svg.ecore#//____DATATYPES____"/>
<genClasses ecoreClass="svg.ecore#//____ATTRIBUTES____"/>
@@ -347,5 +474,447 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//PresentationAttributes/word_spacing"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//PresentationAttributes/writing_mode"/>
</genClasses>
+ <genClasses image="false" ecoreClass="svg.ecore#//XLinkAttributes">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__href"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__show"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__actuate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__role"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__arcrole"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//XLinkAttributes/xlink__title"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference svg.ecore#//XLinkAttributes/resolvedInstance"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="svg.ecore#//FilterPrimitiveAttributes">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//FilterPrimitiveAttributes/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//FilterPrimitiveAttributes/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//FilterPrimitiveAttributes/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//FilterPrimitiveAttributes/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//FilterPrimitiveAttributes/result"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//FilterPrimitiveAttributes/in"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//____ELEMENTES____"/>
+ <genClasses ecoreClass="svg.ecore#//SvgSvgElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/viewBox"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/preserveAspectRatio"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/zoomAndPan"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/version"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/baseProfile"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/contentScriptType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/contentStyleType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSvgElement/styleSheet"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgGElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgGElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgGElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgGElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgGElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgGElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgGElement/y"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgDefsElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgDefsElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgDefsElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgDefsElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgDefsElement/transform"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgDescElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgDescElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgDescElement/style"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgTitleElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTitleElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTitleElement/style"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgSymbolElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSymbolElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSymbolElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSymbolElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSymbolElement/viewBox"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSymbolElement/preserveAspectRatio"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgUseElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgUseElement/y"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgImageElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/preserveAspectRatio"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgImageElement/height"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgSwitchElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSwitchElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSwitchElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSwitchElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgSwitchElement/transform"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgPathElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPathElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPathElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPathElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPathElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPathElement/d"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPathElement/pathLength"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgRectElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/rx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRectElement/ry"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgCircleElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/cx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/cy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgCircleElement/r"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgEllipseElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/cx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/cy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/rx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgEllipseElement/ry"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgLineElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/x1"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/y1"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/x2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLineElement/y2"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgPolylineElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolylineElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolylineElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolylineElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolylineElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolylineElement/points"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgPolygonElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolygonElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolygonElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolygonElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolygonElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPolygonElement/points"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgTextElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/lengthAdjust"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/dx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/dy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/rotate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextElement/textLength"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgTspanElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/dx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/dy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/rotate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/textLength"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/lengthAdjust"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTspanElement/textContent"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgTrefElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTrefElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTrefElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTrefElement/externalResourcesRequired"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgTextPathElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextPathElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextPathElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextPathElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextPathElement/startOffset"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextPathElement/method"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgTextPathElement/spacing"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgAltGlyphElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/dx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/dy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/glyphRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/format"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphElement/rotate"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgAltGlyphDefElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgAltGlyphItemElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgAltGlyphRefElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/dx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/dy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/glyphRef"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgAltGlyphRefElement/format"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgMarkerElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/viewBox"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/preserveAspectRatio"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/refX"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/refY"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/markerUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/markerWidth"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/markerHeight"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMarkerElement/orient"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgColorProfileElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgColorProfileElement/local"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgColorProfileElement/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgColorProfileElement/rendering_intent"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgLinearGradientElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/x1"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/y1"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/x2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/y2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/gradientUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/spreadMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgLinearGradientElement/gradientTransform"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgRadialGradientElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/cx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/cy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/r"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/fx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/fy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/spreadMethod"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/gradientUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgRadialGradientElement/gradientTransform"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgStopElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgStopElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgStopElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgStopElement/offset"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgPatternElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/viewBox"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/preserveAspectRatio"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/patternUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/patternContentUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgPatternElement/patternTransform"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgClipPathElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgClipPathElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgClipPathElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgClipPathElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgClipPathElement/transform"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgClipPathElement/clipPathUnits"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgMaskElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/maskUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgMaskElement/maskContentUnits"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFilterElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/height"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/filterRes"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/filterUnits"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFilterElement/primitiveUnits"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeDistantLightElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDistantLightElement/azimuth"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDistantLightElement/elevation"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFePointLightElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFePointLightElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFePointLightElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFePointLightElement/z"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeSpotLightElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/y"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/z"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/pointsAtX"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/pointsAtY"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/pointsAtZ"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/specularExponent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpotLightElement/limitingConeAngle"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeBlendElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeBlendElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeBlendElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeBlendElement/in2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeBlendElement/mode"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeColorMatrixElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeColorMatrixElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeColorMatrixElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeColorMatrixElement/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeColorMatrixElement/values"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeComponentTransferElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeComponentTransferElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeComponentTransferElement/style"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeFuncRElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgFeFuncGElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgFeFuncBElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgFeFuncAElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgFeCompositeElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/in2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/operator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/k1"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/k2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/k3"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeCompositeElement/k4"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeConvolveMatrixElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/order"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/kernelMatrix"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/divisor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/bias"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/targetX"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/targetY"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/edgeMode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/kernelUnitLength"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeConvolveMatrixElement/preserveAlpha"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeDiffuseLightingElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDiffuseLightingElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDiffuseLightingElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDiffuseLightingElement/surfaceScale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDiffuseLightingElement/diffuseConstant"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDiffuseLightingElement/kernelUnitLength"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeDisplacementMapElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDisplacementMapElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDisplacementMapElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDisplacementMapElement/in2"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDisplacementMapElement/scale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDisplacementMapElement/xChannelSelector"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeDisplacementMapElement/yChannelSelector"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeFloodElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeFloodElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeFloodElement/style"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeGaussianBlurElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeGaussianBlurElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeGaussianBlurElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeGaussianBlurElement/stdDeviation"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeImageElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeImageElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeImageElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeImageElement/externalResourcesRequired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeImageElement/preserveAspectRatio"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeMergeElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeMergeElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeMergeElement/style"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeMergeNodeElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgFeMorphologyElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeMorphologyElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeMorphologyElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeMorphologyElement/operator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeMorphologyElement/radius"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeOffsetElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeOffsetElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeOffsetElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeOffsetElement/dx"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeOffsetElement/dy"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeSpecularLightingElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpecularLightingElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpecularLightingElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpecularLightingElement/surfaceScale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpecularLightingElement/specularConstant"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpecularLightingElement/specularExponent"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeSpecularLightingElement/kernelUnitLength"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeTileElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTileElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTileElement/style"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgFeTurbulenceElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/style"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/baseFrequency"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/numOctaves"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/seed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/stitchTiles"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute svg.ecore#//SvgFeTurbulenceElement/type"/>
+ </genClasses>
+ <genClasses ecoreClass="svg.ecore#//SvgAnimateElement"/>
+ <genClasses ecoreClass="svg.ecore#//SvgMetadataElement"/>
</genPackages>
</genmodel:GenModel>
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/pom.xml b/bundles/runtime/org.eclipse.fx.formats.svg/pom.xml
index ba0402a..dbec109 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/FXToSvg.xtend b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/FXToSvg.xtend
new file mode 100644
index 0000000..eba21de
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/FXToSvg.xtend
@@ -0,0 +1,272 @@
+package org.eclipse.fx.formats.svg
+
+import javafx.scene.Group
+import javafx.scene.Parent
+import javafx.scene.Scene
+import javafx.scene.image.ImageView
+import javafx.scene.layout.Region
+import javafx.scene.shape.Arc
+import javafx.scene.shape.Circle
+import javafx.scene.shape.Ellipse
+import javafx.scene.shape.Line
+import javafx.scene.shape.Path
+import javafx.scene.shape.Polygon
+import javafx.scene.shape.Polyline
+import javafx.scene.shape.QuadCurve
+import javafx.scene.shape.Rectangle
+import javafx.scene.shape.SVGPath
+import javafx.scene.text.Text
+import org.eclipse.fx.formats.svg.fx.PresentationAttributesUtil
+import org.eclipse.fx.formats.svg.svg.SvgDefsElement
+import org.eclipse.fx.formats.svg.svg.SvgElement
+import org.eclipse.fx.formats.svg.svg.SvgFactory
+import org.eclipse.fx.formats.svg.svg.SvgSvgElement
+
+import static extension org.eclipse.fx.formats.svg.fx.FXToSvgUtils.*
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.fx.formats.svg.svg.SvgGElement
+
+class FXToSvg {
+ SvgSvgElement root;
+ SvgDefsElement defs;
+
+ Scene s;
+ Parent p;
+
+ extension PresentationAttributesUtil e = new PresentationAttributesUtil([ getDefs ]);
+
+ new(Scene s) {
+ this.s = s;
+ }
+
+ new(Parent p) {
+ this.p = p;
+ }
+
+ def getDefs() {
+ if( defs == null ) {
+ defs = SvgFactory.eINSTANCE.createSvgDefsElement
+ root.children.add(0,defs);
+ }
+ return defs;
+ }
+
+ def SvgSvgElement getSvgRoot() {
+ if( root == null ) {
+ root = SvgFactory.eINSTANCE.createSvgSvgElement;
+
+ if( this.s != null ) {
+ root.width = s.width.toString
+ root.height = s.height.toString
+ if( s.fill != null ) {
+ root.applyFill(s.fill)
+ }
+ root.children += transform(this.s.root)
+ } else {
+ root = SvgFactory.eINSTANCE.createSvgSvgElement;
+ root.width = p.layoutBounds.width.toString
+ root.height = p.layoutBounds.height.toString
+ val rr = transform(this.p) as SvgGElement;
+ rr.transform = null
+ root.children += rr
+ }
+ }
+
+ return root;
+ }
+
+ def dispatch SvgElement transform(Region r) {
+ var e = SvgFactory.eINSTANCE.createSvgGElement
+ e.visibility = r.isVisible.toVisibility
+ e.transform = '''translate(«r.boundsInParent.minX»,«r.boundsInParent.minY»)'''
+ /*r.background
+ r.boundsInParent
+ r.blendMode
+ r.border
+
+ r.clip
+ r.cursor
+ r.effect
+ r.opacity
+ r.rotate*/
+
+// val bg = SvgFactory.eINSTANCE.createSvgRectElement
+// e.children += bg
+//
+// bg.width = r.boundsInParent.width.toString
+// bg.height = r.boundsInParent.height.toString
+//
+// if( r.background == null ) {
+// bg.fill = "transparent"
+// } else if( r.background.fills.size == 1 ) {
+// val bFill = r.background.fills.head
+// if( bFill.insets.isEmpty && bFill.radii.isEmpty ) {
+// bg.applyFill(bFill.fill)
+// } else {
+// bg.fill = "transparent"
+// e.children += r.background.fills.map[ createBackgroundFill(r) ].toList
+// }
+// } else {
+// bg.fill = "transparent"
+// e.children += r.background.fills.map[ createBackgroundFill(r) ].toList
+// }
+
+ if( r.shape != null ) {
+ //FIXME We need to use that node for background/... instead of the clip
+ val cp = SvgFactory.eINSTANCE.createSvgClipPathElement
+ cp.id = EcoreUtil.generateUUID
+ cp.children += transform(r.shape)
+ getDefs.children += cp
+ e.clip_path = '''url(#«cp.id»)'''
+
+ // Handle backgrounds
+ if( r.background != null ) {
+ e.children += r.background.fills.map[ createBackgroundFill(r) ].toList
+ }
+
+ // Handle borders
+ if( r.border != null ) {
+ e.children += r.border.createBorder(r)
+ }
+ } else {
+ // Handle backgrounds
+ if( r.background != null ) {
+ e.children += r.background.fills.map[ createBackgroundFill(r) ].toList
+ }
+
+ // Handle borders
+ if( r.border != null ) {
+ e.children += r.border.createBorder(r)
+ }
+
+ }
+
+ e.children += r.childrenUnmodifiable.filter[visible].map[ transform ].toList
+
+ if( r.clip != null ) {
+ println("Region-Clip " + r.clip)
+ val cp = SvgFactory.eINSTANCE.createSvgClipPathElement
+ cp.id = EcoreUtil.generateUUID
+ cp.children += transform(r.clip)
+ getDefs.children += cp
+ e.clip_path = '''url(#«cp.id»)'''
+ }
+
+ return e;
+ }
+
+ def dispatch SvgElement transform(Group g) {
+ var e = SvgFactory.eINSTANCE.createSvgGElement
+ e.visibility = g.isVisible.toVisibility
+
+ e.children += g.childrenUnmodifiable.filter[visible].map[ transform ].toList
+
+ if( g.clip != null ) {
+ println("Group-CLIP: " + g.clip)
+ val cp = SvgFactory.eINSTANCE.createSvgClipPathElement
+ cp.id = EcoreUtil.generateUUID
+ cp.children += transform(g.clip)
+ getDefs.children += cp
+ e.clip_path = '''url(#«cp.id»)'''
+ }
+
+ return e
+ }
+
+ def dispatch SvgElement transform(ImageView v) {
+ var e = SvgFactory.eINSTANCE.createSvgImageElement
+ e.visibility = v.isVisible.toVisibility
+ return e;
+ }
+
+ def dispatch SvgElement transform(Arc a) {
+ var e = a.createPath
+ e.visibility = a.isVisible.toVisibility
+ e.applyFill(a.fill)
+ return e;
+ }
+
+ def dispatch SvgElement transform(Circle c) {
+ print("Circle arc")
+ return null;
+ }
+
+ def dispatch SvgElement transform(Ellipse e) {
+ print("Ellipse arc")
+ return null;
+ }
+
+ def dispatch SvgElement transform(Line e) {
+ print("Line arc")
+ return null;
+
+ }
+
+ def dispatch SvgElement transform(Path p) {
+ var e = p.createPath
+ e.visibility = p.isVisible.toVisibility
+ e.applyFill(p.fill)
+
+ if( p.clip != null ) {
+ println("PATH_CLIP:" + p.clip)
+ val cp = SvgFactory.eINSTANCE.createSvgClipPathElement
+ cp.id = EcoreUtil.generateUUID
+ cp.children += transform(p.clip)
+ getDefs.children += cp
+ e.clip_path = '''url(#«cp.id»)'''
+ }
+
+ return e;
+ }
+
+ def dispatch SvgElement transform(Polygon e) {
+ print("Polygon arc")
+ return null;
+
+ }
+
+ def dispatch SvgElement transform(Polyline e) {
+ print("Polyline arc")
+ return null;
+
+ }
+
+ def dispatch SvgElement transform(QuadCurve e) {
+ print("QuadCurve arc")
+ return null;
+
+ }
+
+ def dispatch SvgElement transform(Rectangle e) {
+ val r = SvgFactory.eINSTANCE.createSvgRectElement
+ r.x = e.x.toString
+ r.y = e.y.toString
+ r.width = e.width.toString
+ r.height = e.height.toString
+
+ r.visibility = e.isVisible.toVisibility
+ r.applyFill(e.fill)
+
+ return r;
+
+ }
+
+ def dispatch SvgElement transform(SVGPath e) {
+ val p = SvgFactory.eINSTANCE.createSvgPathElement
+ p.d = e.content
+ return p;
+
+ }
+
+ def dispatch SvgElement transform(Text e) {
+ val p = e.createPath
+ p.visibility = e.isVisible.toVisibility
+ p.applyFill(e.fill)
+
+ var g = SvgFactory.eINSTANCE.createSvgGElement
+ g.transform = '''translate(«e.boundsInParent.minX»,«e.boundsInParent.minY + e.baselineOffset»)'''
+ g.children += p;
+
+ return g;
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/SvgSerializer.xtend b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/SvgSerializer.xtend
new file mode 100644
index 0000000..0468988
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/SvgSerializer.xtend
@@ -0,0 +1,113 @@
+package org.eclipse.fx.formats.svg
+
+import org.eclipse.fx.formats.svg.svg.SvgSvgElement
+import java.io.Writer
+import org.eclipse.fx.formats.svg.svg.SvgGElement
+import org.eclipse.fx.formats.svg.svg.SvgDefsElement
+import org.eclipse.fx.formats.svg.svg.SvgRectElement
+import org.eclipse.fx.formats.svg.svg.SvgTextElement
+import org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement
+import org.eclipse.fx.formats.svg.svg.SvgStopElement
+import org.eclipse.fx.formats.svg.svg.SvgPathElement
+import org.eclipse.fx.formats.svg.svg.SvgImageElement
+import org.eclipse.fx.formats.svg.svg.SvgClipPathElement
+
+class SvgSerializer {
+ SvgSvgElement e;
+
+ new(SvgSvgElement e) {
+ this.e = e;
+ }
+
+ def void toSvg(Writer w) {
+ w.append(gen)
+ }
+
+ def gen() '''
+ <?xml version="1.0" standalone="no"?>
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+ <svg width="«e.width»" height="«e.height»" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ «FOR c : e.children»
+ «c.handle»
+ «ENDFOR»
+ </svg>
+ '''
+
+ def dispatch CharSequence handle(SvgGElement e) '''
+ <g
+ transform="«e.transform»"
+ «IF ! e.clip_path.nullOrEmpty && e.clip_path != "none"»clip-path="«e.clip_path»"«ENDIF»
+ >
+ «FOR c : e.children»
+ «handle(c)»
+ «ENDFOR»
+ </g>
+ '''
+
+ def dispatch CharSequence handle(SvgRectElement e) '''
+ <rect
+ «IF ! e.x.nullOrEmpty»x="«e.x»"«ENDIF»
+ «IF ! e.y.nullOrEmpty»y="«e.y»"«ENDIF»
+ «IF ! e.rx.nullOrEmpty»rx="«e.rx»"«ENDIF»
+ «IF ! e.ry.nullOrEmpty»ry="«e.ry»"«ENDIF»
+ width="«e.width»"
+ height="«e.height»"
+ «IF ! e.fill.nullOrEmpty»fill="«e.fill»"«ENDIF»
+ «IF ! e.fill_opacity.nullOrEmpty»fill-opacity="«e.fill_opacity»"«ENDIF»
+
+ «IF ! e.stroke.nullOrEmpty && e.stroke != "none"»stroke="«e.stroke»"«ENDIF»
+ «IF ! e.stroke_width.nullOrEmpty»stroke-width="«e.stroke_width»"«ENDIF»
+ />
+ '''
+
+ def dispatch CharSequence handle(SvgTextElement e) '''
+ <text
+ x="«e.x»"
+ y="«e.y»"
+ fill="«e.fill»">
+ «e.textContent»
+ </text>
+ '''
+
+ def dispatch CharSequence handle(SvgDefsElement e) '''
+ <defs>
+ «FOR c : e.children»
+ «c.handle»
+ «ENDFOR»
+ </defs>
+ '''
+
+ def dispatch CharSequence handle(SvgPathElement e) '''
+ <path
+ d="«e.d»"
+ «IF ! e.fill.nullOrEmpty»fill="«e.fill»"«ENDIF»
+ />
+ '''
+
+ def dispatch CharSequence handle(SvgImageElement e) '''
+ <image
+««« x="«e.x»"
+««« y="«e.y»"
+ />
+ '''
+
+ def dispatch CharSequence handle(SvgLinearGradientElement e) '''
+ <linearGradient id="«e.id»"
+ x1="«e.x1»"
+ y1="«e.y1»"
+ x2="«e.x2»"
+ y2="«e.y2»">
+ «FOR s : e.children.filter(typeof(SvgStopElement))»
+ <stop offset="«s.offset»" stop-color="«s.stop_color»" />
+ «ENDFOR»
+ </linearGradient>
+ '''
+
+ def dispatch CharSequence handle(SvgClipPathElement e) '''
+ <clipPath id="«e.id»">
+ «FOR c : e.children»
+ «c.handle»
+ «ENDFOR»
+ </clipPath>
+ '''
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/fx/FXToSvgUtils.xtend b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/fx/FXToSvgUtils.xtend
new file mode 100644
index 0000000..bcf30b1
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/fx/FXToSvgUtils.xtend
@@ -0,0 +1,78 @@
+package org.eclipse.fx.formats.svg.fx
+
+import com.sun.javafx.geom.PathIterator
+import javafx.geometry.Insets
+import javafx.scene.layout.CornerRadii
+import javafx.scene.paint.Color
+import javafx.scene.shape.Shape
+import org.eclipse.fx.formats.svg.svg.SvgFactory
+import org.eclipse.fx.formats.svg.svg.SvgPathElement
+import org.eclipse.fx.formats.svg.svg.Visibility
+
+class FXToSvgUtils {
+ def static String toRGBHex(Color c) {
+ var r = Math.round(c.red * 255.0);
+ var g = Math.round(c.green * 255.0);
+ var b = Math.round(c.blue * 255.0);
+ return String.format("#%02x%02x%02x" , r, g, b);
+ }
+
+ def static Visibility toVisibility(boolean b) {
+ if( b ) {
+ return Visibility.VISIBLE
+ } else {
+ return Visibility.HIDDEN
+ }
+ }
+
+ def static SvgPathElement createPath(Shape s) {
+ val i = s.impl_configShape.getPathIterator(null);
+ val f = newFloatArrayOfSize(6);
+ val b = new StringBuilder();
+ for( ; ! i.done; i.next ) {
+ val type = i.currentSegment(f);
+ if( type == PathIterator.SEG_LINETO ) {
+ b.append('''L «f.get(0)» «f.get(1)»''')
+ } else if( type == PathIterator.SEG_CLOSE ) {
+ b.append("z")
+ } else if( type == PathIterator.SEG_CUBICTO ) {
+ b.append('''C «f.get(0)» «f.get(1)» «f.get(2)» «f.get(3)» «f.get(4)» «f.get(5)»''')
+ } else if( type == PathIterator.SEG_MOVETO ) {
+ b.append('''M «f.get(0)» «f.get(1)»''')
+ } else if( type == PathIterator.SEG_QUADTO ) {
+ b.append('''Q «f.get(0)» «f.get(1)» «f.get(2)» «f.get(3)»''')
+ }
+ }
+
+ var p = SvgFactory.eINSTANCE.createSvgPathElement
+ p.d = b.toString
+ return p
+ }
+
+ def static String toProportion(double v) {
+ return v * 100 + "%"
+ }
+
+ def static boolean isEmpty(Insets i) {
+ if( i == null ) {
+ return true
+ } else {
+ return i.left == 0 && i.right == 0 && i.top == 0 && i.bottom == 0
+ }
+ }
+
+ def static boolean isEmpty(CornerRadii r) {
+ if( r == null ) {
+ return true;
+ } else {
+ return r.bottomLeftHorizontalRadius == 0
+ && r.bottomLeftVerticalRadius == 0
+ && r.bottomRightHorizontalRadius == 0
+ && r.bottomRightVerticalRadius == 0
+ && r.topLeftHorizontalRadius == 0
+ && r.topLeftVerticalRadius == 0
+ && r.topRightHorizontalRadius == 0
+ && r.topRightVerticalRadius == 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/fx/PresentationAttributesUtil.xtend b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/fx/PresentationAttributesUtil.xtend
new file mode 100644
index 0000000..22b14ae
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/fx/PresentationAttributesUtil.xtend
@@ -0,0 +1,199 @@
+package org.eclipse.fx.formats.svg.fx
+
+import java.util.Collections
+import java.util.List
+import java.util.function.Supplier
+import javafx.scene.layout.BackgroundFill
+import javafx.scene.layout.Border
+import javafx.scene.layout.BorderStroke
+import javafx.scene.layout.CornerRadii
+import javafx.scene.layout.Region
+import javafx.scene.paint.Color
+import javafx.scene.paint.CycleMethod
+import javafx.scene.paint.ImagePattern
+import javafx.scene.paint.LinearGradient
+import javafx.scene.paint.RadialGradient
+import javafx.scene.paint.Stop
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.fx.formats.svg.svg.PresentationAttributes
+import org.eclipse.fx.formats.svg.svg.SpreadMethod
+import org.eclipse.fx.formats.svg.svg.SvgDefsElement
+import org.eclipse.fx.formats.svg.svg.SvgElement
+import org.eclipse.fx.formats.svg.svg.SvgFactory
+import org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement
+import org.eclipse.fx.formats.svg.svg.SvgStopElement
+
+import static extension org.eclipse.fx.formats.svg.fx.FXToSvgUtils.*
+
+class PresentationAttributesUtil {
+ Supplier<SvgDefsElement> defSupplier;
+
+ new(Supplier<SvgDefsElement> defSupplier) {
+ this.defSupplier = defSupplier;
+ }
+
+ def List<SvgElement> createBorder(Border b, Region r) {
+ if( b == null ) {
+ return Collections.emptyList
+ } else {
+ return b.strokes.map[ createBorderStroke(r) ].flatten.toList
+ }
+ }
+
+ def List<SvgElement> createBorderStroke(BorderStroke s, Region r) {
+ val w = s.widths.bottom == s.widths.left
+ && s.widths.bottom == s.widths.right
+ && s.widths.bottom == s.widths.top
+
+ val c = s.bottomStroke == s.leftStroke
+ && s.bottomStroke == s.rightStroke
+ && s.bottomStroke == s.topStroke
+
+ val st = s.bottomStyle == s.leftStyle
+ && s.bottomStyle == s.rightStyle
+ && s.bottomStyle == s.topStyle
+
+ if( w && c && st && s.radii.checkRadii ) {
+ val rv = SvgFactory.eINSTANCE.createSvgRectElement
+ rv.fill = "transparent"
+ rv.x = (r.layoutBounds.minX + s.insets.left).toString
+ rv.y = (r.layoutBounds.minY + s.insets.top).toString
+ rv.width = (r.layoutBounds.width - s.insets.left - s.insets.right).toString
+ rv.height = (r.layoutBounds.height - s.insets.top - s.insets.bottom).toString
+ rv.stroke_width = s.widths.bottom.toString
+ rv.applyStroke(s.bottomStroke)
+ return Collections.singletonList(rv);
+ } else {
+ println("====> Dup actions")
+ }
+
+ return Collections.emptyList;
+ }
+
+ def static checkRadii(CornerRadii r) {
+ val rx = r.bottomLeftHorizontalRadius == r.bottomRightHorizontalRadius
+ && r.bottomLeftHorizontalRadius == r.topLeftHorizontalRadius
+ && r.bottomLeftHorizontalRadius == r.topRightHorizontalRadius
+
+ val ry = r.bottomLeftVerticalRadius == r.bottomRightVerticalRadius
+ && r.bottomLeftVerticalRadius == r.topLeftVerticalRadius
+ && r.bottomLeftVerticalRadius == r.topRightVerticalRadius
+
+ return rx && ry;
+ }
+
+ def SvgElement createBackgroundFill(BackgroundFill f, Region r) {
+ if( f.radii.checkRadii ) {
+ val rv = SvgFactory.eINSTANCE.createSvgRectElement
+ rv.rx = f.radii.bottomLeftHorizontalRadius.toString
+ rv.ry = f.radii.bottomLeftVerticalRadius.toString
+ rv.x = f.insets.left.toString
+ rv.y = f.insets.top.toString
+ rv.width = (r.layoutBounds.width - f.insets.left - f.insets.right).toString
+ rv.height = (r.layoutBounds.height - f.insets.top - f.insets.bottom).toString
+ rv.fill = "transparent"
+ rv.applyFill(f.fill)
+ println( r + " ===> " + rv.fill + "; " + f.fill)
+ return rv
+ } else {
+ val rv = SvgFactory.eINSTANCE.createSvgPathElement
+ return rv;
+ }
+ }
+
+// def void applyBackground(PresentationAttributes e, Background b) {
+// if( b == null ) {
+// return
+// }
+//
+// //TODO What is outset for?
+//
+// if( !b.fills.empty ) {
+// if( b.fills.size == 1 ) {
+// if( b.fills.head.insets.empty && b.fills.head.radii.empty ) {
+// e.applyFill(b.fills.head.fill)
+// }
+// }
+// } else if( !b.images.empty ) {
+//
+// }
+// }
+
+ def dispatch void applyFill(PresentationAttributes e, Color p) {
+ e.fill = p.toRGBHex
+ if( p.opacity != 1.0 ) {
+ e.fill_opacity = p.opacity.toString
+ }
+ }
+
+ def dispatch void applyFill(PresentationAttributes e, ImagePattern p) {
+ System.err.println("ImagePattern not yet supported")
+ }
+
+ def dispatch void applyFill(PresentationAttributes e, LinearGradient p) {
+ var SvgLinearGradientElement l = SvgFactory.eINSTANCE.createSvgLinearGradientElement
+ l.id = EcoreUtil.generateUUID
+ l.x1 = if (p.isProportional) { p.startX.toProportion } else { p.startX.toString }
+ l.x2 = if (p.isProportional) { p.endX.toProportion } else { p.endX.toString }
+ l.y1 = if (p.isProportional) { p.startY.toProportion } else { p.startY.toString }
+ l.y2 = if (p.isProportional) { p.endY.toProportion } else { p.endY.toString }
+ l.spreadMethod = p.cycleMethod.toSpread
+ for( Stop s : p.stops ) {
+ l.children += s.toStop
+ }
+
+ defSupplier.get.children += l;
+ e.fill = '''url(#«l.id»)'''
+ }
+
+ def dispatch void applyFill(PresentationAttributes e, RadialGradient p) {
+ System.err.println("RadialGradient not yet supported")
+ }
+
+ def dispatch void applyStroke(PresentationAttributes e, Color p) {
+ e.stroke = p.toRGBHex
+ if( p.opacity != 0.0 ) {
+ e.stroke_opacity = p.opacity.toString
+ }
+ }
+
+ def dispatch void applyStroke(PresentationAttributes e, ImagePattern p) {
+ System.err.println("ImagePattern not yet supported")
+ }
+
+ def dispatch void applyStroke(PresentationAttributes e, LinearGradient p) {
+ var SvgLinearGradientElement l = SvgFactory.eINSTANCE.createSvgLinearGradientElement
+ l.id = EcoreUtil.generateUUID
+ l.x1 = if (p.isProportional) { p.startX.toProportion } else { p.startX.toString }
+ l.x2 = if (p.isProportional) { p.endX.toProportion } else { p.endX.toString }
+ l.y1 = if (p.isProportional) { p.startY.toProportion } else { p.startY.toString }
+ l.y2 = if (p.isProportional) { p.endY.toProportion } else { p.endY.toString }
+ l.spreadMethod = p.cycleMethod.toSpread
+ for( Stop s : p.stops ) {
+ l.children += s.toStop
+ }
+
+ defSupplier.get.children += l;
+ e.stroke = '''url(#«l.id»)'''
+ }
+
+ def dispatch void applyStroke(PresentationAttributes e, RadialGradient p) {
+ System.err.println("RadialGradient not yet supported")
+ }
+
+ def static SvgStopElement toStop(Stop s) {
+ var e = SvgFactory.eINSTANCE.createSvgStopElement
+ e.stop_color = s.color.toRGBHex
+ e.offset = s.offset.toString
+
+ return e;
+ }
+
+ def static SpreadMethod toSpread(CycleMethod cm) {
+ switch(cm) {
+ case NO_CYCLE: SpreadMethod.PAD
+ case REFLECT: SpreadMethod.REFLECT
+ case REPEAT: SpreadMethod.REPEAT
+ }
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Alignment_baseline.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Alignment_baseline.java
index f40d066..570c9db 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Alignment_baseline.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Alignment_baseline.java
@@ -386,6 +386,8 @@
* Returns the '<em><b>Alignment baseline</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Alignment_baseline get(String literal) {
@@ -402,6 +404,8 @@
* Returns the '<em><b>Alignment baseline</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Alignment_baseline getByName(String name) {
@@ -418,6 +422,8 @@
* Returns the '<em><b>Alignment baseline</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Alignment_baseline get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/BlendMode.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/BlendMode.java
index 9c20c5a..2faa8d8 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/BlendMode.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/BlendMode.java
@@ -178,6 +178,8 @@
* Returns the '<em><b>Blend Mode</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static BlendMode get(String literal) {
@@ -194,6 +196,8 @@
* Returns the '<em><b>Blend Mode</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static BlendMode getByName(String name) {
@@ -210,6 +214,8 @@
* Returns the '<em><b>Blend Mode</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static BlendMode get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ChannelSelector.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ChannelSelector.java
index 01b489a..1190083 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ChannelSelector.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ChannelSelector.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Channel Selector</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ChannelSelector get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Channel Selector</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ChannelSelector getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Channel Selector</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ChannelSelector get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ClipPathUnits.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ClipPathUnits.java
index bd6fb74..159da0c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ClipPathUnits.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ClipPathUnits.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Clip Path Units</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ClipPathUnits get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Clip Path Units</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ClipPathUnits getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Clip Path Units</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ClipPathUnits get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Clip_rule.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Clip_rule.java
index d48b2c9..316bfee 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Clip_rule.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Clip_rule.java
@@ -126,6 +126,8 @@
* Returns the '<em><b>Clip rule</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Clip_rule get(String literal) {
@@ -142,6 +144,8 @@
* Returns the '<em><b>Clip rule</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Clip_rule getByName(String name) {
@@ -158,6 +162,8 @@
* Returns the '<em><b>Clip rule</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Clip_rule get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ColorMatrixType.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ColorMatrixType.java
index 3198d7d..d575f30 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ColorMatrixType.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ColorMatrixType.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Color Matrix Type</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ColorMatrixType get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Color Matrix Type</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ColorMatrixType getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Color Matrix Type</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ColorMatrixType get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation.java
index 23b3f7e..f162c53 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Color interpolation</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_interpolation get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Color interpolation</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_interpolation getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Color interpolation</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_interpolation get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation_filters.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation_filters.java
index 4d9a6b0..b2a9139 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation_filters.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_interpolation_filters.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Color interpolation filters</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_interpolation_filters get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Color interpolation filters</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_interpolation_filters getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Color interpolation filters</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_interpolation_filters get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_rendering.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_rendering.java
index fb38b85..2da10bb 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_rendering.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Color_rendering.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Color rendering</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_rendering get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Color rendering</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_rendering getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Color rendering</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Color_rendering get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CompositeOperator.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CompositeOperator.java
index e21443a..3c53a8c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CompositeOperator.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CompositeOperator.java
@@ -204,6 +204,8 @@
* Returns the '<em><b>Composite Operator</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static CompositeOperator get(String literal) {
@@ -220,6 +222,8 @@
* Returns the '<em><b>Composite Operator</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static CompositeOperator getByName(String name) {
@@ -236,6 +240,8 @@
* Returns the '<em><b>Composite Operator</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static CompositeOperator get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConditionalProcessingAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConditionalProcessingAttributes.java
index 07ba8d2..eca135f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConditionalProcessingAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConditionalProcessingAttributes.java
@@ -19,12 +19,12 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes#getRequiredExtensions <em>Required Extensions</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes#getSystemLanguage <em>System Language</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getConditionalProcessingAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ContentElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ContentElement.java
index 807193c..77fa6d3 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ContentElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ContentElement.java
@@ -21,10 +21,10 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.ContentElement#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getContentElement()
* @model interface="true" abstract="true"
@@ -33,7 +33,6 @@
public interface ContentElement<T extends SvgElement> extends EObject {
/**
* Returns the value of the '<em><b>Children</b></em>' containment reference list.
- * The list contents are of type {@link T}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Children</em>' containment reference list isn't clear,
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConvolveMatrixEdgeMode.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConvolveMatrixEdgeMode.java
index 7e92fdb..7cebb6b 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConvolveMatrixEdgeMode.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ConvolveMatrixEdgeMode.java
@@ -126,6 +126,8 @@
* Returns the '<em><b>Convolve Matrix Edge Mode</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ConvolveMatrixEdgeMode get(String literal) {
@@ -142,6 +144,8 @@
* Returns the '<em><b>Convolve Matrix Edge Mode</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ConvolveMatrixEdgeMode getByName(String name) {
@@ -158,6 +162,8 @@
* Returns the '<em><b>Convolve Matrix Edge Mode</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ConvolveMatrixEdgeMode get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CoreAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CoreAttributes.java
index 4a9ca5f..9e072a5 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CoreAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/CoreAttributes.java
@@ -19,13 +19,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.CoreAttributes#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.CoreAttributes#getXml__base <em>Xml base</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.CoreAttributes#getXml__lang <em>Xml lang</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.CoreAttributes#getXml__space <em>Xml space</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getCoreAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Direction.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Direction.java
index 53f7386..df4cfc4 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Direction.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Direction.java
@@ -126,6 +126,8 @@
* Returns the '<em><b>Direction</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Direction get(String literal) {
@@ -142,6 +144,8 @@
* Returns the '<em><b>Direction</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Direction getByName(String name) {
@@ -158,6 +162,8 @@
* Returns the '<em><b>Direction</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Direction get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Display.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Display.java
index 93517ec..57642ac 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Display.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Display.java
@@ -516,6 +516,8 @@
* Returns the '<em><b>Display</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Display get(String literal) {
@@ -532,6 +534,8 @@
* Returns the '<em><b>Display</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Display getByName(String name) {
@@ -548,6 +552,8 @@
* Returns the '<em><b>Display</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Display get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/DocumentEventAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/DocumentEventAttributes.java
index 472c38c..883156b 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/DocumentEventAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/DocumentEventAttributes.java
@@ -19,6 +19,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.DocumentEventAttributes#getOnunload <em>Onunload</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.DocumentEventAttributes#getOnabort <em>Onabort</em>}</li>
@@ -27,7 +28,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.DocumentEventAttributes#getOnscroll <em>Onscroll</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.DocumentEventAttributes#getOnzoom <em>Onzoom</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getDocumentEventAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Dominant_baseline.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Dominant_baseline.java
index 6603f03..3a3d3d5 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Dominant_baseline.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Dominant_baseline.java
@@ -386,6 +386,8 @@
* Returns the '<em><b>Dominant baseline</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Dominant_baseline get(String literal) {
@@ -402,6 +404,8 @@
* Returns the '<em><b>Dominant baseline</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Dominant_baseline getByName(String name) {
@@ -418,6 +422,8 @@
* Returns the '<em><b>Dominant baseline</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Dominant_baseline get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Fill_rule.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Fill_rule.java
index 22193d7..2dff15f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Fill_rule.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Fill_rule.java
@@ -126,6 +126,8 @@
* Returns the '<em><b>Fill rule</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Fill_rule get(String literal) {
@@ -142,6 +144,8 @@
* Returns the '<em><b>Fill rule</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Fill_rule getByName(String name) {
@@ -158,6 +162,8 @@
* Returns the '<em><b>Fill rule</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Fill_rule get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterPrimitiveAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterPrimitiveAttributes.java
index 98e8c70..22ae0a1 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterPrimitiveAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterPrimitiveAttributes.java
@@ -19,6 +19,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes#getY <em>Y</em>}</li>
@@ -27,7 +28,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes#getResult <em>Result</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes#getIn <em>In</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getFilterPrimitiveAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterUnits.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterUnits.java
index 828bf96..1490409 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterUnits.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/FilterUnits.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Filter Units</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static FilterUnits get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Filter Units</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static FilterUnits getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Filter Units</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static FilterUnits get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_stretch.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_stretch.java
index 0f8326b..0e36060 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_stretch.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_stretch.java
@@ -360,6 +360,8 @@
* Returns the '<em><b>Font stretch</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_stretch get(String literal) {
@@ -376,6 +378,8 @@
* Returns the '<em><b>Font stretch</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_stretch getByName(String name) {
@@ -392,6 +396,8 @@
* Returns the '<em><b>Font stretch</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_stretch get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_style.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_style.java
index 2471233..7a61f0d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_style.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_style.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Font style</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_style get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Font style</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_style getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Font style</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_style get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_variant.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_variant.java
index ef3b4a3..b8d2019 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_variant.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_variant.java
@@ -126,6 +126,8 @@
* Returns the '<em><b>Font variant</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_variant get(String literal) {
@@ -142,6 +144,8 @@
* Returns the '<em><b>Font variant</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_variant getByName(String name) {
@@ -158,6 +162,8 @@
* Returns the '<em><b>Font variant</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_variant get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_weight.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_weight.java
index 334fbb8..4c9c311 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_weight.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Font_weight.java
@@ -412,6 +412,8 @@
* Returns the '<em><b>Font weight</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_weight get(String literal) {
@@ -428,6 +430,8 @@
* Returns the '<em><b>Font weight</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_weight getByName(String name) {
@@ -444,6 +448,8 @@
* Returns the '<em><b>Font weight</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Font_weight get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GradientUnits.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GradientUnits.java
index 4b69e23..6d7bf2d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GradientUnits.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GradientUnits.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Gradient Units</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static GradientUnits get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Gradient Units</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static GradientUnits getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Gradient Units</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static GradientUnits get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GraphicalEventAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GraphicalEventAttributes.java
index 3215d65..ce55a7c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GraphicalEventAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/GraphicalEventAttributes.java
@@ -19,6 +19,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes#getOnfocusin <em>Onfocusin</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes#getOnfocusout <em>Onfocusout</em>}</li>
@@ -31,7 +32,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes#getOnmouseout <em>Onmouseout</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes#getOnload <em>Onload</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getGraphicalEventAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Image_rendering.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Image_rendering.java
index 6de2a3f..6f0ec4b 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Image_rendering.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Image_rendering.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Image rendering</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Image_rendering get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Image rendering</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Image_rendering getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Image rendering</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Image_rendering get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/LengthAdjust.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/LengthAdjust.java
index d7e9221..0d7c270 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/LengthAdjust.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/LengthAdjust.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Length Adjust</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static LengthAdjust get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Length Adjust</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static LengthAdjust getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Length Adjust</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static LengthAdjust get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MarkerUnits.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MarkerUnits.java
index 636f165..3664905 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MarkerUnits.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MarkerUnits.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Marker Units</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MarkerUnits get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Marker Units</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MarkerUnits getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Marker Units</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MarkerUnits get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MaskUnits.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MaskUnits.java
index 2a835dd..84f16a6 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MaskUnits.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MaskUnits.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Mask Units</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MaskUnits get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Mask Units</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MaskUnits getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Mask Units</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MaskUnits get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Method.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Method.java
index 926e77b..2a21fa5 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Method.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Method.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Method</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Method get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Method</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Method getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Method</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Method get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MorphologyOperator.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MorphologyOperator.java
index 859c967..581b39f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MorphologyOperator.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/MorphologyOperator.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Morphology Operator</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MorphologyOperator get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Morphology Operator</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MorphologyOperator getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Morphology Operator</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static MorphologyOperator get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Overflow.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Overflow.java
index fb5b1e1..033acdc 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Overflow.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Overflow.java
@@ -178,6 +178,8 @@
* Returns the '<em><b>Overflow</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Overflow get(String literal) {
@@ -194,6 +196,8 @@
* Returns the '<em><b>Overflow</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Overflow getByName(String name) {
@@ -210,6 +214,8 @@
* Returns the '<em><b>Overflow</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Overflow get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PatternUnits.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PatternUnits.java
index 1fb13bb..20c02c7 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PatternUnits.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PatternUnits.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Pattern Units</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PatternUnits get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Pattern Units</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PatternUnits getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Pattern Units</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static PatternUnits get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Pointer_events.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Pointer_events.java
index a1e2cc9..11d7caa 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Pointer_events.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Pointer_events.java
@@ -308,6 +308,8 @@
* Returns the '<em><b>Pointer events</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Pointer_events get(String literal) {
@@ -324,6 +326,8 @@
* Returns the '<em><b>Pointer events</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Pointer_events getByName(String name) {
@@ -340,6 +344,8 @@
* Returns the '<em><b>Pointer events</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Pointer_events get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PresentationAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PresentationAttributes.java
index 53c1a17..06c0539 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PresentationAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/PresentationAttributes.java
@@ -19,6 +19,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.PresentationAttributes#getAlignment_baseline <em>Alignment baseline</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.PresentationAttributes#getBaseline_shift <em>Baseline shift</em>}</li>
@@ -80,7 +81,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.PresentationAttributes#getWord_spacing <em>Word spacing</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.PresentationAttributes#getWriting_mode <em>Writing mode</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getPresentationAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Rendering_intent.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Rendering_intent.java
index 50391fb..d9de569 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Rendering_intent.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Rendering_intent.java
@@ -178,6 +178,8 @@
* Returns the '<em><b>Rendering intent</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Rendering_intent get(String literal) {
@@ -194,6 +196,8 @@
* Returns the '<em><b>Rendering intent</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Rendering_intent getByName(String name) {
@@ -210,6 +214,8 @@
* Returns the '<em><b>Rendering intent</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Rendering_intent get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Shape_rendering.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Shape_rendering.java
index 8afedd2..e740b81 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Shape_rendering.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Shape_rendering.java
@@ -178,6 +178,8 @@
* Returns the '<em><b>Shape rendering</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Shape_rendering get(String literal) {
@@ -194,6 +196,8 @@
* Returns the '<em><b>Shape rendering</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Shape_rendering getByName(String name) {
@@ -210,6 +214,8 @@
* Returns the '<em><b>Shape rendering</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Shape_rendering get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Spacing.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Spacing.java
index 9a1b8aa..352fa3f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Spacing.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Spacing.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Spacing</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Spacing get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Spacing</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Spacing getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Spacing</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Spacing get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SpreadMethod.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SpreadMethod.java
index f394719..158b192 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SpreadMethod.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SpreadMethod.java
@@ -126,6 +126,8 @@
* Returns the '<em><b>Spread Method</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static SpreadMethod get(String literal) {
@@ -142,6 +144,8 @@
* Returns the '<em><b>Spread Method</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static SpreadMethod getByName(String name) {
@@ -158,6 +162,8 @@
* Returns the '<em><b>Spread Method</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static SpreadMethod get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/StitchTiles.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/StitchTiles.java
index b6c9d63..d98b90d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/StitchTiles.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/StitchTiles.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Stitch Tiles</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static StitchTiles get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Stitch Tiles</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static StitchTiles getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Stitch Tiles</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static StitchTiles get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linecap.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linecap.java
index cb20654..7ef91ca 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linecap.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linecap.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Stroke linecap</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Stroke_linecap get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Stroke linecap</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Stroke_linecap getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Stroke linecap</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Stroke_linecap get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linejoin.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linejoin.java
index c79b318..6c38160 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linejoin.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Stroke_linejoin.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Stroke linejoin</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Stroke_linejoin get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Stroke linejoin</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Stroke_linejoin getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Stroke linejoin</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Stroke_linejoin get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphElement.java
index 895c748..2d46bc3 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement#getStyle <em>Style</em>}</li>
@@ -30,7 +31,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement#getFormat <em>Format</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement#getRotate <em>Rotate</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgAltGlyphElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphRefElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphRefElement.java
index bda44d2..5959f49 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphRefElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgAltGlyphRefElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement#getStyle <em>Style</em>}</li>
@@ -28,7 +29,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement#getGlyphRef <em>Glyph Ref</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement#getFormat <em>Format</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgAltGlyphRefElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgCircleElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgCircleElement.java
index 48b5aca..df40623 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgCircleElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgCircleElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgCircleElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgCircleElement#getStyle <em>Style</em>}</li>
@@ -27,7 +28,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgCircleElement#getCy <em>Cy</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgCircleElement#getR <em>R</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgCircleElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgClipPathElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgClipPathElement.java
index 7fd9d55..e8eb957 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgClipPathElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgClipPathElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgClipPathElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgClipPathElement#getStyle <em>Style</em>}</li>
@@ -25,7 +26,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgClipPathElement#getTransform <em>Transform</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgClipPathElement#getClipPathUnits <em>Clip Path Units</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgClipPathElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgColorProfileElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgColorProfileElement.java
index 533793f..559ba17 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgColorProfileElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgColorProfileElement.java
@@ -18,12 +18,12 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgColorProfileElement#getLocal <em>Local</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgColorProfileElement#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgColorProfileElement#getRendering_intent <em>Rendering intent</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgColorProfileElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDefsElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDefsElement.java
index 348c314..73cdb25 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDefsElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDefsElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgDefsElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgDefsElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgDefsElement#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgDefsElement#getTransform <em>Transform</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgDefsElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDescElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDescElement.java
index e661369..ea358b5 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDescElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgDescElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgDescElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgDescElement#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgDescElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgEllipseElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgEllipseElement.java
index 9b4615f..b137795 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgEllipseElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgEllipseElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgEllipseElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgEllipseElement#getStyle <em>Style</em>}</li>
@@ -28,7 +29,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgEllipseElement#getRx <em>Rx</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgEllipseElement#getRy <em>Ry</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgEllipseElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeBlendElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeBlendElement.java
index 487c47d..8a953ab 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeBlendElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeBlendElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeBlendElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeBlendElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeBlendElement#getIn2 <em>In2</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeBlendElement#getMode <em>Mode</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeBlendElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeColorMatrixElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeColorMatrixElement.java
index e6897e8..226f055 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeColorMatrixElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeColorMatrixElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement#getType <em>Type</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement#getValues <em>Values</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeColorMatrixElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeComponentTransferElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeComponentTransferElement.java
index 0f35273..fe9c977 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeComponentTransferElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeComponentTransferElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeComponentTransferElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeCompositeElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeCompositeElement.java
index f05023c..0335362 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeCompositeElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeCompositeElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement#getStyle <em>Style</em>}</li>
@@ -28,7 +29,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement#getK3 <em>K3</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement#getK4 <em>K4</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeCompositeElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeConvolveMatrixElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeConvolveMatrixElement.java
index 83cd374..c95a7c9 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeConvolveMatrixElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeConvolveMatrixElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement#getStyle <em>Style</em>}</li>
@@ -31,7 +32,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement#getKernelUnitLength <em>Kernel Unit Length</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement#isPreserveAlpha <em>Preserve Alpha</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeConvolveMatrixElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDiffuseLightingElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDiffuseLightingElement.java
index d161ed1..9ce90fd 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDiffuseLightingElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDiffuseLightingElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement#getStyle <em>Style</em>}</li>
@@ -25,7 +26,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement#getDiffuseConstant <em>Diffuse Constant</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement#getKernelUnitLength <em>Kernel Unit Length</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeDiffuseLightingElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDisplacementMapElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDisplacementMapElement.java
index 2a4ca4b..dc83556 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDisplacementMapElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDisplacementMapElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement#getStyle <em>Style</em>}</li>
@@ -26,7 +27,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement#getXChannelSelector <em>XChannel Selector</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement#getYChannelSelector <em>YChannel Selector</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeDisplacementMapElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDistantLightElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDistantLightElement.java
index 2ba3b8d..a54b0aa 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDistantLightElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeDistantLightElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement#getAzimuth <em>Azimuth</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement#getElevation <em>Elevation</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeDistantLightElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeFloodElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeFloodElement.java
index b5e925b..836b3a8 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeFloodElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeFloodElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeFloodElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeFloodElement#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeFloodElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeGaussianBlurElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeGaussianBlurElement.java
index 80217e4..4e4522e 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeGaussianBlurElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeGaussianBlurElement.java
@@ -18,12 +18,12 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement#getStdDeviation <em>Std Deviation</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeGaussianBlurElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeImageElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeImageElement.java
index 2e40e7f..5488a48 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeImageElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeImageElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeImageElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeImageElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeImageElement#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeImageElement#getPreserveAspectRatio <em>Preserve Aspect Ratio</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeImageElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMergeElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMergeElement.java
index 325ba4c..9107be0 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMergeElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMergeElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeMergeElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeMergeElement#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeMergeElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMorphologyElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMorphologyElement.java
index 36afefe..7cf21b5 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMorphologyElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeMorphologyElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement#getOperator <em>Operator</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement#getRadius <em>Radius</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeMorphologyElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeOffsetElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeOffsetElement.java
index f03befa..e416376 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeOffsetElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeOffsetElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement#getDx <em>Dx</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement#getDy <em>Dy</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeOffsetElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFePointLightElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFePointLightElement.java
index eb1715e..e1b7740 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFePointLightElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFePointLightElement.java
@@ -18,12 +18,12 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFePointLightElement#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFePointLightElement#getY <em>Y</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFePointLightElement#getZ <em>Z</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFePointLightElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpecularLightingElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpecularLightingElement.java
index 75f8c46..8f54803 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpecularLightingElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpecularLightingElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement#getStyle <em>Style</em>}</li>
@@ -26,7 +27,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement#getSpecularExponent <em>Specular Exponent</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement#getKernelUnitLength <em>Kernel Unit Length</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeSpecularLightingElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpotLightElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpotLightElement.java
index 0896e65..a916726 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpotLightElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeSpotLightElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement#getY <em>Y</em>}</li>
@@ -28,7 +29,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement#getSpecularExponent <em>Specular Exponent</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement#getLimitingConeAngle <em>Limiting Cone Angle</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeSpotLightElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTileElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTileElement.java
index 2b4f789..616f1a0 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTileElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTileElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeTileElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeTileElement#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeTileElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTurbulenceElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTurbulenceElement.java
index 86ff0ee..53cc573 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTurbulenceElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFeTurbulenceElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement#getStyle <em>Style</em>}</li>
@@ -27,7 +28,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement#getStitchTiles <em>Stitch Tiles</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement#getType <em>Type</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFeTurbulenceElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFilterElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFilterElement.java
index 60d28af..4b3f338 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFilterElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgFilterElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFilterElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFilterElement#getStyle <em>Style</em>}</li>
@@ -30,7 +31,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFilterElement#getFilterUnits <em>Filter Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgFilterElement#getPrimitiveUnits <em>Primitive Units</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgFilterElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgGElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgGElement.java
index 0c96ffb..6a9aecd 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgGElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgGElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgGElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgGElement#getStyle <em>Style</em>}</li>
@@ -26,7 +27,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgGElement#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgGElement#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgGElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgImageElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgImageElement.java
index a19a725..d8c12ed 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgImageElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgImageElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgImageElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgImageElement#getStyle <em>Style</em>}</li>
@@ -29,7 +30,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgImageElement#getWidth <em>Width</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgImageElement#getHeight <em>Height</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgImageElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLineElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLineElement.java
index c782131..90b32f9 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLineElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLineElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLineElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLineElement#getStyle <em>Style</em>}</li>
@@ -28,7 +29,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLineElement#getX2 <em>X2</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLineElement#getY2 <em>Y2</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgLineElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLinearGradientElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLinearGradientElement.java
index 175fe5e..d293a10 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLinearGradientElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgLinearGradientElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement#getStyle <em>Style</em>}</li>
@@ -30,7 +31,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement#getSpreadMethod <em>Spread Method</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement#getGradientTransform <em>Gradient Transform</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgLinearGradientElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMarkerElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMarkerElement.java
index 81723a3..075e472 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMarkerElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMarkerElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMarkerElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMarkerElement#getStyle <em>Style</em>}</li>
@@ -31,7 +32,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMarkerElement#getMarkerHeight <em>Marker Height</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMarkerElement#getOrient <em>Orient</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgMarkerElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMaskElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMaskElement.java
index 34da592..0a3b80e 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMaskElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgMaskElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMaskElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMaskElement#getStyle <em>Style</em>}</li>
@@ -29,7 +30,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMaskElement#getMaskUnits <em>Mask Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgMaskElement#getMaskContentUnits <em>Mask Content Units</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgMaskElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPackage.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPackage.java
index cc11c7a..0290675 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPackage.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPackage.java
@@ -13447,13 +13447,22 @@
int SVG_TEXT_ELEMENT__TEXT_LENGTH = SVG_ELEMENT_FEATURE_COUNT + 87;
/**
+ * The feature id for the '<em><b>Text Content</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SVG_TEXT_ELEMENT__TEXT_CONTENT = SVG_ELEMENT_FEATURE_COUNT + 88;
+
+ /**
* The number of structural features of the '<em>Text Element</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int SVG_TEXT_ELEMENT_FEATURE_COUNT = SVG_ELEMENT_FEATURE_COUNT + 88;
+ int SVG_TEXT_ELEMENT_FEATURE_COUNT = SVG_ELEMENT_FEATURE_COUNT + 89;
/**
* The meta object id for the '{@link org.eclipse.fx.formats.svg.svg.impl.SvgTspanElementImpl <em>Tspan Element</em>}' class.
@@ -41813,6 +41822,17 @@
EAttribute getSvgTextElement_TextLength();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getTextContent <em>Text Content</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Text Content</em>'.
+ * @see org.eclipse.fx.formats.svg.svg.SvgTextElement#getTextContent()
+ * @see #getSvgTextElement()
+ * @generated
+ */
+ EAttribute getSvgTextElement_TextContent();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement <em>Tspan Element</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -47604,6 +47624,14 @@
EAttribute SVG_TEXT_ELEMENT__TEXT_LENGTH = eINSTANCE.getSvgTextElement_TextLength();
/**
+ * The meta object literal for the '<em><b>Text Content</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SVG_TEXT_ELEMENT__TEXT_CONTENT = eINSTANCE.getSvgTextElement_TextContent();
+
+ /**
* The meta object literal for the '{@link org.eclipse.fx.formats.svg.svg.impl.SvgTspanElementImpl <em>Tspan Element</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPathElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPathElement.java
index 7e7c55b..a1f0d7f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPathElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPathElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPathElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPathElement#getStyle <em>Style</em>}</li>
@@ -26,7 +27,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPathElement#getD <em>D</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPathElement#getPathLength <em>Path Length</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgPathElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPatternElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPatternElement.java
index cd1f7af..d8bf63c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPatternElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPatternElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPatternElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPatternElement#getStyle <em>Style</em>}</li>
@@ -32,7 +33,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPatternElement#getPatternContentUnits <em>Pattern Content Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPatternElement#getPatternTransform <em>Pattern Transform</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgPatternElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolygonElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolygonElement.java
index d89683f..1cfdd2d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolygonElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolygonElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolygonElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolygonElement#getStyle <em>Style</em>}</li>
@@ -25,7 +26,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolygonElement#getTransform <em>Transform</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolygonElement#getPoints <em>Points</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgPolygonElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolylineElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolylineElement.java
index e3df0c4..155dfa1 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolylineElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgPolylineElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolylineElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolylineElement#getStyle <em>Style</em>}</li>
@@ -25,7 +26,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolylineElement#getTransform <em>Transform</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgPolylineElement#getPoints <em>Points</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgPolylineElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRadialGradientElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRadialGradientElement.java
index 978ec86..3a14dff 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRadialGradientElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRadialGradientElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement#getStyle <em>Style</em>}</li>
@@ -31,7 +32,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement#getGradientUnits <em>Gradient Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement#getGradientTransform <em>Gradient Transform</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgRadialGradientElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRectElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRectElement.java
index 088c2ce..7963077 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRectElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgRectElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRectElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRectElement#getStyle <em>Style</em>}</li>
@@ -30,7 +31,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRectElement#getRx <em>Rx</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgRectElement#getRy <em>Ry</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgRectElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgStopElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgStopElement.java
index 075be28..9f0e60f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgStopElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgStopElement.java
@@ -18,12 +18,12 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgStopElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgStopElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgStopElement#getOffset <em>Offset</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgStopElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSvgElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSvgElement.java
index 2263875..c3cd9b7 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSvgElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSvgElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSvgElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSvgElement#getStyle <em>Style</em>}</li>
@@ -35,7 +36,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSvgElement#getContentStyleType <em>Content Style Type</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSvgElement#getStyleSheet <em>Style Sheet</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgSvgElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSwitchElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSwitchElement.java
index 88906e9..75479bb 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSwitchElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSwitchElement.java
@@ -18,13 +18,13 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSwitchElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSwitchElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSwitchElement#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSwitchElement#getTransform <em>Transform</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgSwitchElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSymbolElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSymbolElement.java
index 0b139b9..6029ee4 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSymbolElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgSymbolElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSymbolElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSymbolElement#getStyle <em>Style</em>}</li>
@@ -25,7 +26,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSymbolElement#getViewBox <em>View Box</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgSymbolElement#getPreserveAspectRatio <em>Preserve Aspect Ratio</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgSymbolElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextElement.java
index 488a7bd..aed62d0 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getStyle <em>Style</em>}</li>
@@ -30,8 +31,8 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getDy <em>Dy</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getRotate <em>Rotate</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getTextLength <em>Text Length</em>}</li>
+ * <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getTextContent <em>Text Content</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgTextElement()
* @model
@@ -328,4 +329,30 @@
*/
void setTextLength(String value);
+ /**
+ * Returns the value of the '<em><b>Text Content</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Text Content</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Text Content</em>' attribute.
+ * @see #setTextContent(String)
+ * @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgTextElement_TextContent()
+ * @model
+ * @generated
+ */
+ String getTextContent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.fx.formats.svg.svg.SvgTextElement#getTextContent <em>Text Content</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Text Content</em>' attribute.
+ * @see #getTextContent()
+ * @generated
+ */
+ void setTextContent(String value);
+
} // SvgTextElement
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextPathElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextPathElement.java
index a7ef37c..d91ee8d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextPathElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTextPathElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextPathElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextPathElement#getStyle <em>Style</em>}</li>
@@ -26,7 +27,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextPathElement#getMethod <em>Method</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTextPathElement#getSpacing <em>Spacing</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgTextPathElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTitleElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTitleElement.java
index fbf148f..6e466a3 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTitleElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTitleElement.java
@@ -18,11 +18,11 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTitleElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTitleElement#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgTitleElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTrefElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTrefElement.java
index b0e5bf2..7c3a4d2 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTrefElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTrefElement.java
@@ -18,12 +18,12 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTrefElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTrefElement#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTrefElement#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgTrefElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTspanElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTspanElement.java
index 26fa80b..bce77e8 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTspanElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgTspanElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement#getStyle <em>Style</em>}</li>
@@ -30,7 +31,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement#getTextLength <em>Text Length</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement#getLengthAdjust <em>Length Adjust</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgTspanElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgUseElement.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgUseElement.java
index 61d3047..d541348 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgUseElement.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/SvgUseElement.java
@@ -18,6 +18,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgUseElement#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgUseElement#getStyle <em>Style</em>}</li>
@@ -28,7 +29,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgUseElement#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.SvgUseElement#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getSvgUseElement()
* @model
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_anchor.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_anchor.java
index a53a34e..349d844 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_anchor.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_anchor.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Text anchor</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Text_anchor get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Text anchor</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Text_anchor getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Text anchor</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Text_anchor get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_rendering.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_rendering.java
index 11694a4..b8872ae 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_rendering.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Text_rendering.java
@@ -178,6 +178,8 @@
* Returns the '<em><b>Text rendering</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Text_rendering get(String literal) {
@@ -194,6 +196,8 @@
* Returns the '<em><b>Text rendering</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Text_rendering getByName(String name) {
@@ -210,6 +214,8 @@
* Returns the '<em><b>Text rendering</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Text_rendering get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/TurbulenceType.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/TurbulenceType.java
index 4b1cb11..523a3e3 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/TurbulenceType.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/TurbulenceType.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Turbulence Type</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static TurbulenceType get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Turbulence Type</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static TurbulenceType getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Turbulence Type</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static TurbulenceType get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Unicode_bidi.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Unicode_bidi.java
index 26cd824..593b1ec 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Unicode_bidi.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Unicode_bidi.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Unicode bidi</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Unicode_bidi get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Unicode bidi</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Unicode_bidi getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Unicode bidi</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Unicode_bidi get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Visibility.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Visibility.java
index 71c6841..9ee8fb1 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Visibility.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Visibility.java
@@ -152,6 +152,8 @@
* Returns the '<em><b>Visibility</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Visibility get(String literal) {
@@ -168,6 +170,8 @@
* Returns the '<em><b>Visibility</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Visibility getByName(String name) {
@@ -184,6 +188,8 @@
* Returns the '<em><b>Visibility</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Visibility get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Writing_mode.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Writing_mode.java
index 08cf457..19ce438 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Writing_mode.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/Writing_mode.java
@@ -230,6 +230,8 @@
* Returns the '<em><b>Writing mode</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Writing_mode get(String literal) {
@@ -246,6 +248,8 @@
* Returns the '<em><b>Writing mode</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Writing_mode getByName(String name) {
@@ -262,6 +266,8 @@
* Returns the '<em><b>Writing mode</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static Writing_mode get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/XLinkAttributes.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/XLinkAttributes.java
index 29c1335..bb415bf 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/XLinkAttributes.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/XLinkAttributes.java
@@ -19,6 +19,7 @@
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.XLinkAttributes#getXlink__href <em>Xlink href</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.XLinkAttributes#getXlink__show <em>Xlink show</em>}</li>
@@ -29,7 +30,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.XLinkAttributes#getXlink__title <em>Xlink title</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.XLinkAttributes#getResolvedInstance <em>Resolved Instance</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.fx.formats.svg.svg.SvgPackage#getXLinkAttributes()
* @model interface="true" abstract="true"
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ZoomAndPan.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ZoomAndPan.java
index f8fb05a..5f92097 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ZoomAndPan.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/ZoomAndPan.java
@@ -100,6 +100,8 @@
* Returns the '<em><b>Zoom And Pan</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ZoomAndPan get(String literal) {
@@ -116,6 +118,8 @@
* Returns the '<em><b>Zoom And Pan</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ZoomAndPan getByName(String name) {
@@ -132,6 +136,8 @@
* Returns the '<em><b>Zoom And Pan</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
public static ZoomAndPan get(int value) {
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/AnimationElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/AnimationElementImpl.java
index db36aac..aa2de2a 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/AnimationElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/AnimationElementImpl.java
@@ -21,8 +21,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Animation Element</b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphDefElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphDefElementImpl.java
index 71849a5..d39350e 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphDefElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphDefElementImpl.java
@@ -38,6 +38,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphDefElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphDefElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -45,7 +46,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphDefElementImpl#getXml__space <em>Xml space</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphDefElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphElementImpl.java
index 5f03d1a..c32e83d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -165,7 +166,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphElementImpl#getFormat <em>Format</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphElementImpl#getRotate <em>Rotate</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphItemElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphItemElementImpl.java
index ace8400..b50dd79 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphItemElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphItemElementImpl.java
@@ -38,6 +38,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphItemElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphItemElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -45,7 +46,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphItemElementImpl#getXml__space <em>Xml space</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphItemElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphRefElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphRefElementImpl.java
index 155f8c6..d054584 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphRefElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAltGlyphRefElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphRefElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphRefElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -146,7 +147,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphRefElementImpl#getGlyphRef <em>Glyph Ref</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgAltGlyphRefElementImpl#getFormat <em>Format</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAnimateElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAnimateElementImpl.java
index 55d2aaf..3710622 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAnimateElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgAnimateElementImpl.java
@@ -21,8 +21,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Animate Element</b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgCircleElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgCircleElementImpl.java
index 0ea71cb..c2fc263 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgCircleElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgCircleElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgCircleElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgCircleElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -154,7 +155,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgCircleElementImpl#getCy <em>Cy</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgCircleElementImpl#getR <em>R</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgClipPathElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgClipPathElementImpl.java
index e5da70e..c47cdef 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgClipPathElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgClipPathElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgClipPathElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgClipPathElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -139,7 +140,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgClipPathElementImpl#getTransform <em>Transform</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgClipPathElementImpl#getClipPathUnits <em>Clip Path Units</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgColorProfileElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgColorProfileElementImpl.java
index 8842463..4121e7f 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgColorProfileElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgColorProfileElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgColorProfileElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgColorProfileElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -142,7 +143,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgColorProfileElementImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgColorProfileElementImpl#getRendering_intent <em>Rendering intent</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDefsElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDefsElementImpl.java
index 6d05dbb..842d617 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDefsElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDefsElementImpl.java
@@ -67,6 +67,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDefsElementImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDefsElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
@@ -150,7 +151,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDefsElementImpl#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDefsElementImpl#getTransform <em>Transform</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDescElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDescElementImpl.java
index ce8e4fc..2df76f9 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDescElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgDescElementImpl.java
@@ -39,6 +39,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDescElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDescElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -48,7 +49,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDescElementImpl#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgDescElementImpl#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgEllipseElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgEllipseElementImpl.java
index 3f35604..e01a879 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgEllipseElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgEllipseElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgEllipseElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgEllipseElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -155,7 +156,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgEllipseElementImpl#getRx <em>Rx</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgEllipseElementImpl#getRy <em>Ry</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFactoryImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFactoryImpl.java
index 4793269..143b88c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFactoryImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFactoryImpl.java
@@ -35,7 +35,7 @@
*/
public static SvgFactory init() {
try {
- SvgFactory theSvgFactory = (SvgFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.w3.org/2000/svg");
+ SvgFactory theSvgFactory = (SvgFactory)EPackage.Registry.INSTANCE.getEFactory(SvgPackage.eNS_URI);
if (theSvgFactory != null) {
return theSvgFactory;
}
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeBlendElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeBlendElementImpl.java
index 478d9b4..59854d0 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeBlendElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeBlendElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeBlendElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeBlendElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -141,7 +142,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeBlendElementImpl#getIn2 <em>In2</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeBlendElementImpl#getMode <em>Mode</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeColorMatrixElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeColorMatrixElementImpl.java
index e7aad8b..ae3d658 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeColorMatrixElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeColorMatrixElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeColorMatrixElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeColorMatrixElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -141,7 +142,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeColorMatrixElementImpl#getType <em>Type</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeColorMatrixElementImpl#getValues <em>Values</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeComponentTransferElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeComponentTransferElementImpl.java
index 09e29c6..4d7dfec 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeComponentTransferElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeComponentTransferElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeComponentTransferElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeComponentTransferElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -138,7 +139,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeComponentTransferElementImpl#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeComponentTransferElementImpl#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeCompositeElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeCompositeElementImpl.java
index d4f7a7d..d655a7a 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeCompositeElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeCompositeElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeCompositeElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeCompositeElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -145,7 +146,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeCompositeElementImpl#getK3 <em>K3</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeCompositeElementImpl#getK4 <em>K4</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeConvolveMatrixElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeConvolveMatrixElementImpl.java
index 0bbc253..6b7053d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeConvolveMatrixElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeConvolveMatrixElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeConvolveMatrixElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeConvolveMatrixElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -148,7 +149,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeConvolveMatrixElementImpl#getKernelUnitLength <em>Kernel Unit Length</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeConvolveMatrixElementImpl#isPreserveAlpha <em>Preserve Alpha</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDiffuseLightingElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDiffuseLightingElementImpl.java
index 3623d56..12feca3 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDiffuseLightingElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDiffuseLightingElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDiffuseLightingElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDiffuseLightingElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -141,7 +142,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDiffuseLightingElementImpl#getDiffuseConstant <em>Diffuse Constant</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDiffuseLightingElementImpl#getKernelUnitLength <em>Kernel Unit Length</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDisplacementMapElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDisplacementMapElementImpl.java
index f2d8156..1e886f1 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDisplacementMapElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDisplacementMapElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDisplacementMapElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDisplacementMapElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -143,7 +144,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDisplacementMapElementImpl#getXChannelSelector <em>XChannel Selector</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDisplacementMapElementImpl#getYChannelSelector <em>YChannel Selector</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDistantLightElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDistantLightElementImpl.java
index c07885c..dc81f1a 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDistantLightElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeDistantLightElementImpl.java
@@ -38,6 +38,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDistantLightElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDistantLightElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -47,7 +48,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDistantLightElementImpl#getAzimuth <em>Azimuth</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeDistantLightElementImpl#getElevation <em>Elevation</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFloodElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFloodElementImpl.java
index cfce14a..7f3bae4 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFloodElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFloodElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFloodElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFloodElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -138,7 +139,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFloodElementImpl#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFloodElementImpl#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncAElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncAElementImpl.java
index 4fa371d..c850f96 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncAElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncAElementImpl.java
@@ -63,6 +63,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncAElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncAElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -129,7 +130,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncAElementImpl#getWriting_mode <em>Writing mode</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncAElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncBElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncBElementImpl.java
index d901c5f..06bb164 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncBElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncBElementImpl.java
@@ -63,6 +63,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncBElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncBElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -129,7 +130,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncBElementImpl#getWriting_mode <em>Writing mode</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncBElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncGElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncGElementImpl.java
index dcc2596..30e07ee 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncGElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncGElementImpl.java
@@ -63,6 +63,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncGElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncGElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -129,7 +130,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncGElementImpl#getWriting_mode <em>Writing mode</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncGElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncRElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncRElementImpl.java
index 283bec1..fddf7d8 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncRElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeFuncRElementImpl.java
@@ -63,6 +63,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncRElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncRElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -129,7 +130,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncRElementImpl#getWriting_mode <em>Writing mode</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeFuncRElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeGaussianBlurElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeGaussianBlurElementImpl.java
index d38493a..cfd6de7 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeGaussianBlurElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeGaussianBlurElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeGaussianBlurElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeGaussianBlurElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -140,7 +141,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeGaussianBlurElementImpl#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeGaussianBlurElementImpl#getStdDeviation <em>Std Deviation</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeImageElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeImageElementImpl.java
index 81eb2bb..11e6b7a 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeImageElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeImageElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeImageElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeImageElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -149,7 +150,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeImageElementImpl#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeImageElementImpl#getPreserveAspectRatio <em>Preserve Aspect Ratio</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeElementImpl.java
index c4a0544..91ca168 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -138,7 +139,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeElementImpl#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeElementImpl#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeNodeElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeNodeElementImpl.java
index 049c90e..f877441 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeNodeElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMergeNodeElementImpl.java
@@ -38,6 +38,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeNodeElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeNodeElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -45,7 +46,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeNodeElementImpl#getXml__space <em>Xml space</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMergeNodeElementImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMorphologyElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMorphologyElementImpl.java
index 2e005e9..f6343e0 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMorphologyElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeMorphologyElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMorphologyElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMorphologyElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -141,7 +142,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMorphologyElementImpl#getOperator <em>Operator</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeMorphologyElementImpl#getRadius <em>Radius</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeOffsetElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeOffsetElementImpl.java
index babcb9e..7fcc71c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeOffsetElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeOffsetElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeOffsetElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeOffsetElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -140,7 +141,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeOffsetElementImpl#getDx <em>Dx</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeOffsetElementImpl#getDy <em>Dy</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFePointLightElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFePointLightElementImpl.java
index 68682b6..2f771c8 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFePointLightElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFePointLightElementImpl.java
@@ -39,6 +39,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFePointLightElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFePointLightElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -49,7 +50,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFePointLightElementImpl#getY <em>Y</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFePointLightElementImpl#getZ <em>Z</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpecularLightingElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpecularLightingElementImpl.java
index e57bb02..8dcb06d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpecularLightingElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpecularLightingElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpecularLightingElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpecularLightingElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -142,7 +143,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpecularLightingElementImpl#getSpecularExponent <em>Specular Exponent</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpecularLightingElementImpl#getKernelUnitLength <em>Kernel Unit Length</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpotLightElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpotLightElementImpl.java
index 4fb3e09..09a282b 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpotLightElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeSpotLightElementImpl.java
@@ -39,6 +39,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpotLightElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpotLightElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -54,7 +55,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpotLightElementImpl#getSpecularExponent <em>Specular Exponent</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeSpotLightElementImpl#getLimitingConeAngle <em>Limiting Cone Angle</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTileElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTileElementImpl.java
index 2f8ae01..ba2bbed 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTileElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTileElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTileElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTileElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -138,7 +139,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTileElementImpl#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTileElementImpl#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTurbulenceElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTurbulenceElementImpl.java
index 3d37c02..a17d6fe 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTurbulenceElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFeTurbulenceElementImpl.java
@@ -66,6 +66,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTurbulenceElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTurbulenceElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -145,7 +146,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTurbulenceElementImpl#getStitchTiles <em>Stitch Tiles</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFeTurbulenceElementImpl#getType <em>Type</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFilterElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFilterElementImpl.java
index 56d97a1..cd48590 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFilterElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgFilterElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFilterElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFilterElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -149,7 +150,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFilterElementImpl#getFilterUnits <em>Filter Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgFilterElementImpl#getPrimitiveUnits <em>Primitive Units</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgGElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgGElementImpl.java
index bbce536..788b071 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgGElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgGElementImpl.java
@@ -67,6 +67,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgGElementImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgGElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
@@ -152,7 +153,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgGElementImpl#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgGElementImpl#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgImageElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgImageElementImpl.java
index 33f9712..c8e86c6 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgImageElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgImageElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgImageElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgImageElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -164,7 +165,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgImageElementImpl#getWidth <em>Width</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgImageElementImpl#getHeight <em>Height</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLineElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLineElementImpl.java
index f65526e..4bf407c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLineElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLineElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLineElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLineElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -155,7 +156,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLineElementImpl#getX2 <em>X2</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLineElementImpl#getY2 <em>Y2</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLinearGradientElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLinearGradientElementImpl.java
index 3af1d4e..3f8ddfe 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLinearGradientElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgLinearGradientElementImpl.java
@@ -67,6 +67,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLinearGradientElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLinearGradientElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -151,7 +152,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLinearGradientElementImpl#getSpreadMethod <em>Spread Method</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgLinearGradientElementImpl#getGradientTransform <em>Gradient Transform</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMarkerElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMarkerElementImpl.java
index 5c2f0b5..dddf833 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMarkerElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMarkerElementImpl.java
@@ -64,6 +64,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMarkerElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMarkerElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -141,7 +142,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMarkerElementImpl#getMarkerHeight <em>Marker Height</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMarkerElementImpl#getOrient <em>Orient</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMaskElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMaskElementImpl.java
index ecc0712..204712e 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMaskElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMaskElementImpl.java
@@ -65,6 +65,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMaskElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMaskElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -143,7 +144,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMaskElementImpl#getMaskUnits <em>Mask Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMaskElementImpl#getMaskContentUnits <em>Mask Content Units</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMetadataElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMetadataElementImpl.java
index 16ce1fe..0e119d1 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMetadataElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgMetadataElementImpl.java
@@ -27,13 +27,13 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMetadataElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMetadataElementImpl#getXml__base <em>Xml base</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMetadataElementImpl#getXml__lang <em>Xml lang</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgMetadataElementImpl#getXml__space <em>Xml space</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPackageImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPackageImpl.java
index cf19929..88dbf6d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPackageImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPackageImpl.java
@@ -19,6 +19,137 @@
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.ETypeParameter;
import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.fx.formats.svg.svg.Alignment_baseline;
+import org.eclipse.fx.formats.svg.svg.AnimationElement;
+import org.eclipse.fx.formats.svg.svg.BasicShapeElement;
+import org.eclipse.fx.formats.svg.svg.BlendMode;
+import org.eclipse.fx.formats.svg.svg.ChannelSelector;
+import org.eclipse.fx.formats.svg.svg.ClipPathUnits;
+import org.eclipse.fx.formats.svg.svg.Clip_rule;
+import org.eclipse.fx.formats.svg.svg.ColorMatrixType;
+import org.eclipse.fx.formats.svg.svg.Color_interpolation;
+import org.eclipse.fx.formats.svg.svg.Color_interpolation_filters;
+import org.eclipse.fx.formats.svg.svg.Color_rendering;
+import org.eclipse.fx.formats.svg.svg.CompositeOperator;
+import org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes;
+import org.eclipse.fx.formats.svg.svg.ContainerElement;
+import org.eclipse.fx.formats.svg.svg.ContentElement;
+import org.eclipse.fx.formats.svg.svg.ConvolveMatrixEdgeMode;
+import org.eclipse.fx.formats.svg.svg.CoreAttributes;
+import org.eclipse.fx.formats.svg.svg.DescriptiveElement;
+import org.eclipse.fx.formats.svg.svg.Direction;
+import org.eclipse.fx.formats.svg.svg.Display;
+import org.eclipse.fx.formats.svg.svg.DocumentEventAttributes;
+import org.eclipse.fx.formats.svg.svg.Dominant_baseline;
+import org.eclipse.fx.formats.svg.svg.Fill_rule;
+import org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes;
+import org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement;
+import org.eclipse.fx.formats.svg.svg.FilterUnits;
+import org.eclipse.fx.formats.svg.svg.Font_stretch;
+import org.eclipse.fx.formats.svg.svg.Font_style;
+import org.eclipse.fx.formats.svg.svg.Font_variant;
+import org.eclipse.fx.formats.svg.svg.Font_weight;
+import org.eclipse.fx.formats.svg.svg.GradientElement;
+import org.eclipse.fx.formats.svg.svg.GradientUnits;
+import org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes;
+import org.eclipse.fx.formats.svg.svg.GraphicsElement;
+import org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement;
+import org.eclipse.fx.formats.svg.svg.Image_rendering;
+import org.eclipse.fx.formats.svg.svg.LengthAdjust;
+import org.eclipse.fx.formats.svg.svg.LightSourceElement;
+import org.eclipse.fx.formats.svg.svg.MarkerUnits;
+import org.eclipse.fx.formats.svg.svg.MaskUnits;
+import org.eclipse.fx.formats.svg.svg.Method;
+import org.eclipse.fx.formats.svg.svg.MorphologyOperator;
+import org.eclipse.fx.formats.svg.svg.Overflow;
+import org.eclipse.fx.formats.svg.svg.PatternUnits;
+import org.eclipse.fx.formats.svg.svg.Pointer_events;
+import org.eclipse.fx.formats.svg.svg.PresentationAttributes;
+import org.eclipse.fx.formats.svg.svg.Rendering_intent;
+import org.eclipse.fx.formats.svg.svg.ShapeElement;
+import org.eclipse.fx.formats.svg.svg.Shape_rendering;
+import org.eclipse.fx.formats.svg.svg.Spacing;
+import org.eclipse.fx.formats.svg.svg.SpreadMethod;
+import org.eclipse.fx.formats.svg.svg.StitchTiles;
+import org.eclipse.fx.formats.svg.svg.Stroke_linecap;
+import org.eclipse.fx.formats.svg.svg.Stroke_linejoin;
+import org.eclipse.fx.formats.svg.svg.StructuralElement;
+import org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement;
+import org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement;
+import org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement;
+import org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement;
+import org.eclipse.fx.formats.svg.svg.SvgAnimateElement;
+import org.eclipse.fx.formats.svg.svg.SvgCircleElement;
+import org.eclipse.fx.formats.svg.svg.SvgClipPathElement;
+import org.eclipse.fx.formats.svg.svg.SvgColorProfileElement;
+import org.eclipse.fx.formats.svg.svg.SvgDefsElement;
+import org.eclipse.fx.formats.svg.svg.SvgDescElement;
+import org.eclipse.fx.formats.svg.svg.SvgElement;
+import org.eclipse.fx.formats.svg.svg.SvgEllipseElement;
+import org.eclipse.fx.formats.svg.svg.SvgFactory;
+import org.eclipse.fx.formats.svg.svg.SvgFeBlendElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeFloodElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeImageElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeMergeElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement;
+import org.eclipse.fx.formats.svg.svg.SvgFePointLightElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeTileElement;
+import org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement;
+import org.eclipse.fx.formats.svg.svg.SvgFilterElement;
+import org.eclipse.fx.formats.svg.svg.SvgGElement;
+import org.eclipse.fx.formats.svg.svg.SvgImageElement;
+import org.eclipse.fx.formats.svg.svg.SvgLineElement;
+import org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement;
+import org.eclipse.fx.formats.svg.svg.SvgMarkerElement;
+import org.eclipse.fx.formats.svg.svg.SvgMaskElement;
+import org.eclipse.fx.formats.svg.svg.SvgMetadataElement;
+import org.eclipse.fx.formats.svg.svg.SvgPackage;
+import org.eclipse.fx.formats.svg.svg.SvgPathElement;
+import org.eclipse.fx.formats.svg.svg.SvgPatternElement;
+import org.eclipse.fx.formats.svg.svg.SvgPolygonElement;
+import org.eclipse.fx.formats.svg.svg.SvgPolylineElement;
+import org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement;
+import org.eclipse.fx.formats.svg.svg.SvgRectElement;
+import org.eclipse.fx.formats.svg.svg.SvgStopElement;
+import org.eclipse.fx.formats.svg.svg.SvgSvgElement;
+import org.eclipse.fx.formats.svg.svg.SvgSwitchElement;
+import org.eclipse.fx.formats.svg.svg.SvgSymbolElement;
+import org.eclipse.fx.formats.svg.svg.SvgTextElement;
+import org.eclipse.fx.formats.svg.svg.SvgTextPathElement;
+import org.eclipse.fx.formats.svg.svg.SvgTitleElement;
+import org.eclipse.fx.formats.svg.svg.SvgTrefElement;
+import org.eclipse.fx.formats.svg.svg.SvgTspanElement;
+import org.eclipse.fx.formats.svg.svg.SvgUseElement;
+import org.eclipse.fx.formats.svg.svg.TextContentChildElement;
+import org.eclipse.fx.formats.svg.svg.TextContentElement;
+import org.eclipse.fx.formats.svg.svg.Text_anchor;
+import org.eclipse.fx.formats.svg.svg.Text_rendering;
+import org.eclipse.fx.formats.svg.svg.TurbulenceType;
+import org.eclipse.fx.formats.svg.svg.Unicode_bidi;
+import org.eclipse.fx.formats.svg.svg.Visibility;
+import org.eclipse.fx.formats.svg.svg.Writing_mode;
+import org.eclipse.fx.formats.svg.svg.XLinkAttributes;
+import org.eclipse.fx.formats.svg.svg.ZoomAndPan;
+import org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____;
+import org.eclipse.fx.formats.svg.svg.____DATATYPES____;
+import org.eclipse.fx.formats.svg.svg.____ELEMENTES____;
+import org.eclipse.fx.formats.svg.svg.____ENUMS____;
import org.eclipse.fx.formats.svg.svg.*;
/**
@@ -3677,6 +3808,15 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EAttribute getSvgTextElement_TextContent() {
+ return (EAttribute)svgTextElementEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EClass getSvgTspanElement() {
return svgTspanElementEClass;
}
@@ -7048,6 +7188,7 @@
createEAttribute(svgTextElementEClass, SVG_TEXT_ELEMENT__DY);
createEAttribute(svgTextElementEClass, SVG_TEXT_ELEMENT__ROTATE);
createEAttribute(svgTextElementEClass, SVG_TEXT_ELEMENT__TEXT_LENGTH);
+ createEAttribute(svgTextElementEClass, SVG_TEXT_ELEMENT__TEXT_CONTENT);
svgTspanElementEClass = createEClass(SVG_TSPAN_ELEMENT);
createEAttribute(svgTspanElementEClass, SVG_TSPAN_ELEMENT__CLASS);
@@ -8584,6 +8725,7 @@
initEAttribute(getSvgTextElement_Dy(), this.getListOfLengths(), "dy", null, 0, 1, SvgTextElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSvgTextElement_Rotate(), this.getListOfNumbers(), "rotate", null, 0, 1, SvgTextElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSvgTextElement_TextLength(), this.getLength(), "textLength", null, 0, 1, SvgTextElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSvgTextElement_TextContent(), ecorePackage.getEString(), "textContent", null, 0, 1, SvgTextElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(svgTspanElementEClass, SvgTspanElement.class, "SvgTspanElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getSvgTspanElement_Class(), ecorePackage.getEString(), "class", null, 0, 1, SvgTspanElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPathElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPathElementImpl.java
index f9102c9..e846727 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPathElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPathElementImpl.java
@@ -67,6 +67,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPathElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPathElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -152,7 +153,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPathElementImpl#getD <em>D</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPathElementImpl#getPathLength <em>Path Length</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPatternElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPatternElementImpl.java
index ff39f9b..ce62f96 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPatternElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPatternElementImpl.java
@@ -67,6 +67,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPatternElementImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPatternElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
@@ -156,7 +157,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPatternElementImpl#getPatternContentUnits <em>Pattern Content Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPatternElementImpl#getPatternTransform <em>Pattern Transform</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolygonElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolygonElementImpl.java
index 4ef1968..df1a238 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolygonElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolygonElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolygonElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolygonElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -152,7 +153,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolygonElementImpl#getTransform <em>Transform</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolygonElementImpl#getPoints <em>Points</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolylineElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolylineElementImpl.java
index 84630ff..87f2fad 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolylineElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgPolylineElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolylineElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolylineElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -152,7 +153,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolylineElementImpl#getTransform <em>Transform</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgPolylineElementImpl#getPoints <em>Points</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRadialGradientElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRadialGradientElementImpl.java
index 1e69cf8..4367b8e 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRadialGradientElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRadialGradientElementImpl.java
@@ -67,6 +67,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRadialGradientElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRadialGradientElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -152,7 +153,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRadialGradientElementImpl#getGradientUnits <em>Gradient Units</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRadialGradientElementImpl#getGradientTransform <em>Gradient Transform</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRectElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRectElementImpl.java
index a494f30..40618a8 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRectElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgRectElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRectElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRectElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -157,7 +158,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRectElementImpl#getRx <em>Rx</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgRectElementImpl#getRy <em>Ry</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgStopElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgStopElementImpl.java
index 97598ba..ce1a9a2 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgStopElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgStopElementImpl.java
@@ -63,6 +63,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgStopElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgStopElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -132,7 +133,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgStopElementImpl#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgStopElementImpl#getOffset <em>Offset</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSvgElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSvgElementImpl.java
index 6763d45..c424dc6 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSvgElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSvgElementImpl.java
@@ -69,6 +69,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSvgElementImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSvgElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
@@ -169,7 +170,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSvgElementImpl#getContentStyleType <em>Content Style Type</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSvgElementImpl#getStyleSheet <em>Style Sheet</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSwitchElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSwitchElementImpl.java
index e645c12..3486b4b 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSwitchElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSwitchElementImpl.java
@@ -66,6 +66,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSwitchElementImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSwitchElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
@@ -149,7 +150,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSwitchElementImpl#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSwitchElementImpl#getTransform <em>Transform</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSymbolElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSymbolElementImpl.java
index 68d03f7..c34635d 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSymbolElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgSymbolElementImpl.java
@@ -66,6 +66,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSymbolElementImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSymbolElementImpl#getId <em>Id</em>}</li>
@@ -147,7 +148,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSymbolElementImpl#getViewBox <em>View Box</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgSymbolElementImpl#getPreserveAspectRatio <em>Preserve Aspect Ratio</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextElementImpl.java
index e294bca..145c796 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -157,8 +158,8 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextElementImpl#getDy <em>Dy</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextElementImpl#getRotate <em>Rotate</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextElementImpl#getTextLength <em>Text Length</em>}</li>
+ * <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextElementImpl#getTextContent <em>Text Content</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -1914,6 +1915,26 @@
protected String textLength = TEXT_LENGTH_EDEFAULT;
/**
+ * The default value of the '{@link #getTextContent() <em>Text Content</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTextContent()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_CONTENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTextContent() <em>Text Content</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTextContent()
+ * @generated
+ * @ordered
+ */
+ protected String textContent = TEXT_CONTENT_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -3776,6 +3797,27 @@
* <!-- end-user-doc -->
* @generated
*/
+ public String getTextContent() {
+ return textContent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTextContent(String newTextContent) {
+ String oldTextContent = textContent;
+ textContent = newTextContent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SvgPackage.SVG_TEXT_ELEMENT__TEXT_CONTENT, oldTextContent, textContent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
@@ -3969,6 +4011,8 @@
return getRotate();
case SvgPackage.SVG_TEXT_ELEMENT__TEXT_LENGTH:
return getTextLength();
+ case SvgPackage.SVG_TEXT_ELEMENT__TEXT_CONTENT:
+ return getTextContent();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -4247,6 +4291,9 @@
case SvgPackage.SVG_TEXT_ELEMENT__TEXT_LENGTH:
setTextLength((String)newValue);
return;
+ case SvgPackage.SVG_TEXT_ELEMENT__TEXT_CONTENT:
+ setTextContent((String)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -4523,6 +4570,9 @@
case SvgPackage.SVG_TEXT_ELEMENT__TEXT_LENGTH:
setTextLength(TEXT_LENGTH_EDEFAULT);
return;
+ case SvgPackage.SVG_TEXT_ELEMENT__TEXT_CONTENT:
+ setTextContent(TEXT_CONTENT_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -4711,6 +4761,8 @@
return ROTATE_EDEFAULT == null ? rotate != null : !ROTATE_EDEFAULT.equals(rotate);
case SvgPackage.SVG_TEXT_ELEMENT__TEXT_LENGTH:
return TEXT_LENGTH_EDEFAULT == null ? textLength != null : !TEXT_LENGTH_EDEFAULT.equals(textLength);
+ case SvgPackage.SVG_TEXT_ELEMENT__TEXT_CONTENT:
+ return TEXT_CONTENT_EDEFAULT == null ? textContent != null : !TEXT_CONTENT_EDEFAULT.equals(textContent);
}
return super.eIsSet(featureID);
}
@@ -5143,6 +5195,8 @@
result.append(rotate);
result.append(", textLength: ");
result.append(textLength);
+ result.append(", textContent: ");
+ result.append(textContent);
result.append(')');
return result.toString();
}
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextPathElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextPathElementImpl.java
index 3bf800a..f8c4c45 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextPathElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTextPathElementImpl.java
@@ -70,6 +70,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextPathElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextPathElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -163,7 +164,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextPathElementImpl#getMethod <em>Method</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTextPathElementImpl#getSpacing <em>Spacing</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTitleElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTitleElementImpl.java
index ac10c88..d5ea7c2 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTitleElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTitleElementImpl.java
@@ -39,6 +39,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTitleElementImpl#getId <em>Id</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTitleElementImpl#getXml__base <em>Xml base</em>}</li>
@@ -48,7 +49,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTitleElementImpl#getClass_ <em>Class</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTitleElementImpl#getStyle <em>Style</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTrefElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTrefElementImpl.java
index 3479575..b930149 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTrefElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTrefElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTrefElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTrefElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -158,7 +159,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTrefElementImpl#getStyle <em>Style</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTrefElementImpl#getExternalResourcesRequired <em>External Resources Required</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTspanElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTspanElementImpl.java
index 2a4cfc0..995fada 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTspanElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgTspanElementImpl.java
@@ -68,6 +68,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTspanElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTspanElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -157,7 +158,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTspanElementImpl#getTextLength <em>Text Length</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgTspanElementImpl#getLengthAdjust <em>Length Adjust</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgUseElementImpl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgUseElementImpl.java
index 33bd562..a9a00bd 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgUseElementImpl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/SvgUseElementImpl.java
@@ -69,6 +69,7 @@
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgUseElementImpl#getRequiredFeatures <em>Required Features</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgUseElementImpl#getRequiredExtensions <em>Required Extensions</em>}</li>
@@ -164,7 +165,6 @@
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgUseElementImpl#getX <em>X</em>}</li>
* <li>{@link org.eclipse.fx.formats.svg.svg.impl.SvgUseElementImpl#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ATTRIBUTES____Impl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ATTRIBUTES____Impl.java
index 50e546a..e99c25c 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ATTRIBUTES____Impl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ATTRIBUTES____Impl.java
@@ -21,8 +21,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>ATTRIBUTES </b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____DATATYPES____Impl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____DATATYPES____Impl.java
index df777e3..ae8c440 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____DATATYPES____Impl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____DATATYPES____Impl.java
@@ -21,8 +21,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>DATATYPES </b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ELEMENTES____Impl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ELEMENTES____Impl.java
index 8fec8c7..54fc2b0 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ELEMENTES____Impl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ELEMENTES____Impl.java
@@ -21,8 +21,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>ELEMENTES </b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ENUMS____Impl.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ENUMS____Impl.java
index 44b68e8..6551809 100755
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ENUMS____Impl.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/impl/____ENUMS____Impl.java
@@ -21,8 +21,6 @@
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>ENUMS </b></em>'.
* <!-- end-user-doc -->
- * <p>
- * </p>
*
* @generated
*/
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgAdapterFactory.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgAdapterFactory.java
old mode 100755
new mode 100644
index 51b036e..81ff84f
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgAdapterFactory.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgAdapterFactory.java
@@ -1,1724 +1,1632 @@
-/*******************************************************************************
- * Copyright (c) 2012 BestSolution.at and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.fx.formats.svg.svg.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.fx.formats.svg.svg.AnimationElement;
-import org.eclipse.fx.formats.svg.svg.BasicShapeElement;
-import org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes;
-import org.eclipse.fx.formats.svg.svg.ContainerElement;
-import org.eclipse.fx.formats.svg.svg.ContentElement;
-import org.eclipse.fx.formats.svg.svg.CoreAttributes;
-import org.eclipse.fx.formats.svg.svg.DescriptiveElement;
-import org.eclipse.fx.formats.svg.svg.DocumentEventAttributes;
-import org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes;
-import org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement;
-import org.eclipse.fx.formats.svg.svg.GradientElement;
-import org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes;
-import org.eclipse.fx.formats.svg.svg.GraphicsElement;
-import org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement;
-import org.eclipse.fx.formats.svg.svg.LightSourceElement;
-import org.eclipse.fx.formats.svg.svg.PresentationAttributes;
-import org.eclipse.fx.formats.svg.svg.ShapeElement;
-import org.eclipse.fx.formats.svg.svg.StructuralElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement;
-import org.eclipse.fx.formats.svg.svg.SvgAnimateElement;
-import org.eclipse.fx.formats.svg.svg.SvgCircleElement;
-import org.eclipse.fx.formats.svg.svg.SvgClipPathElement;
-import org.eclipse.fx.formats.svg.svg.SvgColorProfileElement;
-import org.eclipse.fx.formats.svg.svg.SvgDefsElement;
-import org.eclipse.fx.formats.svg.svg.SvgDescElement;
-import org.eclipse.fx.formats.svg.svg.SvgElement;
-import org.eclipse.fx.formats.svg.svg.SvgEllipseElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeBlendElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFloodElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeImageElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeMergeElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement;
-import org.eclipse.fx.formats.svg.svg.SvgFePointLightElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeTileElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement;
-import org.eclipse.fx.formats.svg.svg.SvgFilterElement;
-import org.eclipse.fx.formats.svg.svg.SvgGElement;
-import org.eclipse.fx.formats.svg.svg.SvgImageElement;
-import org.eclipse.fx.formats.svg.svg.SvgLineElement;
-import org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement;
-import org.eclipse.fx.formats.svg.svg.SvgMarkerElement;
-import org.eclipse.fx.formats.svg.svg.SvgMaskElement;
-import org.eclipse.fx.formats.svg.svg.SvgMetadataElement;
-import org.eclipse.fx.formats.svg.svg.SvgPackage;
-import org.eclipse.fx.formats.svg.svg.SvgPathElement;
-import org.eclipse.fx.formats.svg.svg.SvgPatternElement;
-import org.eclipse.fx.formats.svg.svg.SvgPolygonElement;
-import org.eclipse.fx.formats.svg.svg.SvgPolylineElement;
-import org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement;
-import org.eclipse.fx.formats.svg.svg.SvgRectElement;
-import org.eclipse.fx.formats.svg.svg.SvgStopElement;
-import org.eclipse.fx.formats.svg.svg.SvgSvgElement;
-import org.eclipse.fx.formats.svg.svg.SvgSwitchElement;
-import org.eclipse.fx.formats.svg.svg.SvgSymbolElement;
-import org.eclipse.fx.formats.svg.svg.SvgTextElement;
-import org.eclipse.fx.formats.svg.svg.SvgTextPathElement;
-import org.eclipse.fx.formats.svg.svg.SvgTitleElement;
-import org.eclipse.fx.formats.svg.svg.SvgTrefElement;
-import org.eclipse.fx.formats.svg.svg.SvgTspanElement;
-import org.eclipse.fx.formats.svg.svg.SvgUseElement;
-import org.eclipse.fx.formats.svg.svg.TextContentChildElement;
-import org.eclipse.fx.formats.svg.svg.TextContentElement;
-import org.eclipse.fx.formats.svg.svg.XLinkAttributes;
-import org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____;
-import org.eclipse.fx.formats.svg.svg.____DATATYPES____;
-import org.eclipse.fx.formats.svg.svg.____ELEMENTES____;
-import org.eclipse.fx.formats.svg.svg.____ENUMS____;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.fx.formats.svg.svg.SvgPackage
- * @generated
- */
-public class SvgAdapterFactory extends AdapterFactoryImpl {
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static SvgPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SvgAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = SvgPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch that delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected SvgSwitch<@Nullable Adapter> modelSwitch =
- new SvgSwitch<@Nullable Adapter>() {
- @Override
- public <T extends SvgElement> Adapter caseContentElement(ContentElement<T> object) {
- return createContentElementAdapter();
- }
- @Override
- public <T extends SvgElement> Adapter caseContainerElement(ContainerElement<T> object) {
- return createContainerElementAdapter();
- }
- @Override
- public Adapter caseStructuralElement(StructuralElement object) {
- return createStructuralElementAdapter();
- }
- @Override
- public Adapter caseSvgElement(SvgElement object) {
- return createSvgElementAdapter();
- }
- @Override
- public Adapter caseDescriptiveElement(DescriptiveElement object) {
- return createDescriptiveElementAdapter();
- }
- @Override
- public Adapter caseGraphicsElement(GraphicsElement object) {
- return createGraphicsElementAdapter();
- }
- @Override
- public Adapter caseGraphicsReferencingElement(GraphicsReferencingElement object) {
- return createGraphicsReferencingElementAdapter();
- }
- @Override
- public Adapter caseShapeElement(ShapeElement object) {
- return createShapeElementAdapter();
- }
- @Override
- public Adapter caseBasicShapeElement(BasicShapeElement object) {
- return createBasicShapeElementAdapter();
- }
- @Override
- public Adapter caseTextContentElement(TextContentElement object) {
- return createTextContentElementAdapter();
- }
- @Override
- public Adapter caseTextContentChildElement(TextContentChildElement object) {
- return createTextContentChildElementAdapter();
- }
- @Override
- public Adapter caseGradientElement(GradientElement object) {
- return createGradientElementAdapter();
- }
- @Override
- public Adapter caseLightSourceElement(LightSourceElement object) {
- return createLightSourceElementAdapter();
- }
- @Override
- public Adapter caseFilterPrimitiveElement(FilterPrimitiveElement object) {
- return createFilterPrimitiveElementAdapter();
- }
- @Override
- public Adapter caseAnimationElement(AnimationElement object) {
- return createAnimationElementAdapter();
- }
- @Override
- public Adapter case____ENUMS____(____ENUMS____ object) {
- return create____ENUMS____Adapter();
- }
- @Override
- public Adapter case____DATATYPES____(____DATATYPES____ object) {
- return create____DATATYPES____Adapter();
- }
- @Override
- public Adapter case____ATTRIBUTES____(____ATTRIBUTES____ object) {
- return create____ATTRIBUTES____Adapter();
- }
- @Override
- public Adapter caseConditionalProcessingAttributes(ConditionalProcessingAttributes object) {
- return createConditionalProcessingAttributesAdapter();
- }
- @Override
- public Adapter caseCoreAttributes(CoreAttributes object) {
- return createCoreAttributesAdapter();
- }
- @Override
- public Adapter caseDocumentEventAttributes(DocumentEventAttributes object) {
- return createDocumentEventAttributesAdapter();
- }
- @Override
- public Adapter caseGraphicalEventAttributes(GraphicalEventAttributes object) {
- return createGraphicalEventAttributesAdapter();
- }
- @Override
- public Adapter casePresentationAttributes(PresentationAttributes object) {
- return createPresentationAttributesAdapter();
- }
- @Override
- public Adapter caseXLinkAttributes(XLinkAttributes object) {
- return createXLinkAttributesAdapter();
- }
- @Override
- public Adapter caseFilterPrimitiveAttributes(FilterPrimitiveAttributes object) {
- return createFilterPrimitiveAttributesAdapter();
- }
- @Override
- public Adapter case____ELEMENTES____(____ELEMENTES____ object) {
- return create____ELEMENTES____Adapter();
- }
- @Override
- public Adapter caseSvgSvgElement(SvgSvgElement object) {
- return createSvgSvgElementAdapter();
- }
- @Override
- public Adapter caseSvgGElement(SvgGElement object) {
- return createSvgGElementAdapter();
- }
- @Override
- public Adapter caseSvgDefsElement(SvgDefsElement object) {
- return createSvgDefsElementAdapter();
- }
- @Override
- public Adapter caseSvgDescElement(SvgDescElement object) {
- return createSvgDescElementAdapter();
- }
- @Override
- public Adapter caseSvgTitleElement(SvgTitleElement object) {
- return createSvgTitleElementAdapter();
- }
- @Override
- public Adapter caseSvgSymbolElement(SvgSymbolElement object) {
- return createSvgSymbolElementAdapter();
- }
- @Override
- public Adapter caseSvgUseElement(SvgUseElement object) {
- return createSvgUseElementAdapter();
- }
- @Override
- public Adapter caseSvgImageElement(SvgImageElement object) {
- return createSvgImageElementAdapter();
- }
- @Override
- public Adapter caseSvgSwitchElement(SvgSwitchElement object) {
- return createSvgSwitchElementAdapter();
- }
- @Override
- public Adapter caseSvgPathElement(SvgPathElement object) {
- return createSvgPathElementAdapter();
- }
- @Override
- public Adapter caseSvgRectElement(SvgRectElement object) {
- return createSvgRectElementAdapter();
- }
- @Override
- public Adapter caseSvgCircleElement(SvgCircleElement object) {
- return createSvgCircleElementAdapter();
- }
- @Override
- public Adapter caseSvgEllipseElement(SvgEllipseElement object) {
- return createSvgEllipseElementAdapter();
- }
- @Override
- public Adapter caseSvgLineElement(SvgLineElement object) {
- return createSvgLineElementAdapter();
- }
- @Override
- public Adapter caseSvgPolylineElement(SvgPolylineElement object) {
- return createSvgPolylineElementAdapter();
- }
- @Override
- public Adapter caseSvgPolygonElement(SvgPolygonElement object) {
- return createSvgPolygonElementAdapter();
- }
- @Override
- public Adapter caseSvgTextElement(SvgTextElement object) {
- return createSvgTextElementAdapter();
- }
- @Override
- public Adapter caseSvgTspanElement(SvgTspanElement object) {
- return createSvgTspanElementAdapter();
- }
- @Override
- public Adapter caseSvgTrefElement(SvgTrefElement object) {
- return createSvgTrefElementAdapter();
- }
- @Override
- public Adapter caseSvgTextPathElement(SvgTextPathElement object) {
- return createSvgTextPathElementAdapter();
- }
- @Override
- public Adapter caseSvgAltGlyphElement(SvgAltGlyphElement object) {
- return createSvgAltGlyphElementAdapter();
- }
- @Override
- public Adapter caseSvgAltGlyphDefElement(SvgAltGlyphDefElement object) {
- return createSvgAltGlyphDefElementAdapter();
- }
- @Override
- public Adapter caseSvgAltGlyphItemElement(SvgAltGlyphItemElement object) {
- return createSvgAltGlyphItemElementAdapter();
- }
- @Override
- public Adapter caseSvgAltGlyphRefElement(SvgAltGlyphRefElement object) {
- return createSvgAltGlyphRefElementAdapter();
- }
- @Override
- public Adapter caseSvgMarkerElement(SvgMarkerElement object) {
- return createSvgMarkerElementAdapter();
- }
- @Override
- public Adapter caseSvgColorProfileElement(SvgColorProfileElement object) {
- return createSvgColorProfileElementAdapter();
- }
- @Override
- public Adapter caseSvgLinearGradientElement(SvgLinearGradientElement object) {
- return createSvgLinearGradientElementAdapter();
- }
- @Override
- public Adapter caseSvgRadialGradientElement(SvgRadialGradientElement object) {
- return createSvgRadialGradientElementAdapter();
- }
- @Override
- public Adapter caseSvgStopElement(SvgStopElement object) {
- return createSvgStopElementAdapter();
- }
- @Override
- public Adapter caseSvgPatternElement(SvgPatternElement object) {
- return createSvgPatternElementAdapter();
- }
- @Override
- public Adapter caseSvgClipPathElement(SvgClipPathElement object) {
- return createSvgClipPathElementAdapter();
- }
- @Override
- public Adapter caseSvgMaskElement(SvgMaskElement object) {
- return createSvgMaskElementAdapter();
- }
- @Override
- public Adapter caseSvgFilterElement(SvgFilterElement object) {
- return createSvgFilterElementAdapter();
- }
- @Override
- public Adapter caseSvgFeDistantLightElement(SvgFeDistantLightElement object) {
- return createSvgFeDistantLightElementAdapter();
- }
- @Override
- public Adapter caseSvgFePointLightElement(SvgFePointLightElement object) {
- return createSvgFePointLightElementAdapter();
- }
- @Override
- public Adapter caseSvgFeSpotLightElement(SvgFeSpotLightElement object) {
- return createSvgFeSpotLightElementAdapter();
- }
- @Override
- public Adapter caseSvgFeBlendElement(SvgFeBlendElement object) {
- return createSvgFeBlendElementAdapter();
- }
- @Override
- public Adapter caseSvgFeColorMatrixElement(SvgFeColorMatrixElement object) {
- return createSvgFeColorMatrixElementAdapter();
- }
- @Override
- public Adapter caseSvgFeComponentTransferElement(SvgFeComponentTransferElement object) {
- return createSvgFeComponentTransferElementAdapter();
- }
- @Override
- public Adapter caseSvgFeFuncRElement(SvgFeFuncRElement object) {
- return createSvgFeFuncRElementAdapter();
- }
- @Override
- public Adapter caseSvgFeFuncGElement(SvgFeFuncGElement object) {
- return createSvgFeFuncGElementAdapter();
- }
- @Override
- public Adapter caseSvgFeFuncBElement(SvgFeFuncBElement object) {
- return createSvgFeFuncBElementAdapter();
- }
- @Override
- public Adapter caseSvgFeFuncAElement(SvgFeFuncAElement object) {
- return createSvgFeFuncAElementAdapter();
- }
- @Override
- public Adapter caseSvgFeCompositeElement(SvgFeCompositeElement object) {
- return createSvgFeCompositeElementAdapter();
- }
- @Override
- public Adapter caseSvgFeConvolveMatrixElement(SvgFeConvolveMatrixElement object) {
- return createSvgFeConvolveMatrixElementAdapter();
- }
- @Override
- public Adapter caseSvgFeDiffuseLightingElement(SvgFeDiffuseLightingElement object) {
- return createSvgFeDiffuseLightingElementAdapter();
- }
- @Override
- public Adapter caseSvgFeDisplacementMapElement(SvgFeDisplacementMapElement object) {
- return createSvgFeDisplacementMapElementAdapter();
- }
- @Override
- public Adapter caseSvgFeFloodElement(SvgFeFloodElement object) {
- return createSvgFeFloodElementAdapter();
- }
- @Override
- public Adapter caseSvgFeGaussianBlurElement(SvgFeGaussianBlurElement object) {
- return createSvgFeGaussianBlurElementAdapter();
- }
- @Override
- public Adapter caseSvgFeImageElement(SvgFeImageElement object) {
- return createSvgFeImageElementAdapter();
- }
- @Override
- public Adapter caseSvgFeMergeElement(SvgFeMergeElement object) {
- return createSvgFeMergeElementAdapter();
- }
- @Override
- public Adapter caseSvgFeMergeNodeElement(SvgFeMergeNodeElement object) {
- return createSvgFeMergeNodeElementAdapter();
- }
- @Override
- public Adapter caseSvgFeMorphologyElement(SvgFeMorphologyElement object) {
- return createSvgFeMorphologyElementAdapter();
- }
- @Override
- public Adapter caseSvgFeOffsetElement(SvgFeOffsetElement object) {
- return createSvgFeOffsetElementAdapter();
- }
- @Override
- public Adapter caseSvgFeSpecularLightingElement(SvgFeSpecularLightingElement object) {
- return createSvgFeSpecularLightingElementAdapter();
- }
- @Override
- public Adapter caseSvgFeTileElement(SvgFeTileElement object) {
- return createSvgFeTileElementAdapter();
- }
- @Override
- public Adapter caseSvgFeTurbulenceElement(SvgFeTurbulenceElement object) {
- return createSvgFeTurbulenceElementAdapter();
- }
- @Override
- public Adapter caseSvgAnimateElement(SvgAnimateElement object) {
- return createSvgAnimateElementAdapter();
- }
- @Override
- public Adapter caseSvgMetadataElement(SvgMetadataElement object) {
- return createSvgMetadataElementAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target) {
- return modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ContentElement <em>Content Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.ContentElement
- * @generated
- */
- public Adapter createContentElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ContainerElement <em>Container Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.ContainerElement
- * @generated
- */
- public Adapter createContainerElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.StructuralElement <em>Structural Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.StructuralElement
- * @generated
- */
- public Adapter createStructuralElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgElement <em>Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgElement
- * @generated
- */
- public Adapter createSvgElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.DescriptiveElement <em>Descriptive Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.DescriptiveElement
- * @generated
- */
- public Adapter createDescriptiveElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GraphicsElement <em>Graphics Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.GraphicsElement
- * @generated
- */
- public Adapter createGraphicsElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement <em>Graphics Referencing Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement
- * @generated
- */
- public Adapter createGraphicsReferencingElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ShapeElement <em>Shape Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.ShapeElement
- * @generated
- */
- public Adapter createShapeElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.BasicShapeElement <em>Basic Shape Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.BasicShapeElement
- * @generated
- */
- public Adapter createBasicShapeElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.TextContentElement <em>Text Content Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.TextContentElement
- * @generated
- */
- public Adapter createTextContentElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.TextContentChildElement <em>Text Content Child Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.TextContentChildElement
- * @generated
- */
- public Adapter createTextContentChildElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GradientElement <em>Gradient Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.GradientElement
- * @generated
- */
- public Adapter createGradientElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.LightSourceElement <em>Light Source Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.LightSourceElement
- * @generated
- */
- public Adapter createLightSourceElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement <em>Filter Primitive Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement
- * @generated
- */
- public Adapter createFilterPrimitiveElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.AnimationElement <em>Animation Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.AnimationElement
- * @generated
- */
- public Adapter createAnimationElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____ENUMS____ <em>ENUMS </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.____ENUMS____
- * @generated
- */
- public Adapter create____ENUMS____Adapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____DATATYPES____ <em>DATATYPES </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.____DATATYPES____
- * @generated
- */
- public Adapter create____DATATYPES____Adapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____ <em>ATTRIBUTES </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____
- * @generated
- */
- public Adapter create____ATTRIBUTES____Adapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes <em>Conditional Processing Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes
- * @generated
- */
- public Adapter createConditionalProcessingAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.CoreAttributes <em>Core Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.CoreAttributes
- * @generated
- */
- public Adapter createCoreAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.DocumentEventAttributes <em>Document Event Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.DocumentEventAttributes
- * @generated
- */
- public Adapter createDocumentEventAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes <em>Graphical Event Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes
- * @generated
- */
- public Adapter createGraphicalEventAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.PresentationAttributes <em>Presentation Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.PresentationAttributes
- * @generated
- */
- public Adapter createPresentationAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.XLinkAttributes <em>XLink Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.XLinkAttributes
- * @generated
- */
- public Adapter createXLinkAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes <em>Filter Primitive Attributes</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes
- * @generated
- */
- public Adapter createFilterPrimitiveAttributesAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____ELEMENTES____ <em>ELEMENTES </em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.____ELEMENTES____
- * @generated
- */
- public Adapter create____ELEMENTES____Adapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgSvgElement <em>Svg Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgSvgElement
- * @generated
- */
- public Adapter createSvgSvgElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgGElement <em>GElement</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgGElement
- * @generated
- */
- public Adapter createSvgGElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgDefsElement <em>Defs Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgDefsElement
- * @generated
- */
- public Adapter createSvgDefsElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgDescElement <em>Desc Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgDescElement
- * @generated
- */
- public Adapter createSvgDescElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTitleElement <em>Title Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgTitleElement
- * @generated
- */
- public Adapter createSvgTitleElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgSymbolElement <em>Symbol Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgSymbolElement
- * @generated
- */
- public Adapter createSvgSymbolElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgUseElement <em>Use Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgUseElement
- * @generated
- */
- public Adapter createSvgUseElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgImageElement <em>Image Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgImageElement
- * @generated
- */
- public Adapter createSvgImageElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgSwitchElement <em>Switch Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgSwitchElement
- * @generated
- */
- public Adapter createSvgSwitchElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPathElement <em>Path Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgPathElement
- * @generated
- */
- public Adapter createSvgPathElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgRectElement <em>Rect Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgRectElement
- * @generated
- */
- public Adapter createSvgRectElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgCircleElement <em>Circle Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgCircleElement
- * @generated
- */
- public Adapter createSvgCircleElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgEllipseElement <em>Ellipse Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgEllipseElement
- * @generated
- */
- public Adapter createSvgEllipseElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgLineElement <em>Line Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgLineElement
- * @generated
- */
- public Adapter createSvgLineElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPolylineElement <em>Polyline Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgPolylineElement
- * @generated
- */
- public Adapter createSvgPolylineElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPolygonElement <em>Polygon Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgPolygonElement
- * @generated
- */
- public Adapter createSvgPolygonElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTextElement <em>Text Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgTextElement
- * @generated
- */
- public Adapter createSvgTextElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement <em>Tspan Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgTspanElement
- * @generated
- */
- public Adapter createSvgTspanElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTrefElement <em>Tref Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgTrefElement
- * @generated
- */
- public Adapter createSvgTrefElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTextPathElement <em>Text Path Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgTextPathElement
- * @generated
- */
- public Adapter createSvgTextPathElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement <em>Alt Glyph Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement
- * @generated
- */
- public Adapter createSvgAltGlyphElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement <em>Alt Glyph Def Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement
- * @generated
- */
- public Adapter createSvgAltGlyphDefElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement <em>Alt Glyph Item Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement
- * @generated
- */
- public Adapter createSvgAltGlyphItemElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement <em>Alt Glyph Ref Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement
- * @generated
- */
- public Adapter createSvgAltGlyphRefElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgMarkerElement <em>Marker Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgMarkerElement
- * @generated
- */
- public Adapter createSvgMarkerElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgColorProfileElement <em>Color Profile Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgColorProfileElement
- * @generated
- */
- public Adapter createSvgColorProfileElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement <em>Linear Gradient Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement
- * @generated
- */
- public Adapter createSvgLinearGradientElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement <em>Radial Gradient Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement
- * @generated
- */
- public Adapter createSvgRadialGradientElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgStopElement <em>Stop Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgStopElement
- * @generated
- */
- public Adapter createSvgStopElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPatternElement <em>Pattern Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgPatternElement
- * @generated
- */
- public Adapter createSvgPatternElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgClipPathElement <em>Clip Path Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgClipPathElement
- * @generated
- */
- public Adapter createSvgClipPathElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgMaskElement <em>Mask Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgMaskElement
- * @generated
- */
- public Adapter createSvgMaskElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFilterElement <em>Filter Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFilterElement
- * @generated
- */
- public Adapter createSvgFilterElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement <em>Fe Distant Light Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement
- * @generated
- */
- public Adapter createSvgFeDistantLightElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFePointLightElement <em>Fe Point Light Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFePointLightElement
- * @generated
- */
- public Adapter createSvgFePointLightElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement <em>Fe Spot Light Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement
- * @generated
- */
- public Adapter createSvgFeSpotLightElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeBlendElement <em>Fe Blend Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeBlendElement
- * @generated
- */
- public Adapter createSvgFeBlendElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement <em>Fe Color Matrix Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement
- * @generated
- */
- public Adapter createSvgFeColorMatrixElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement <em>Fe Component Transfer Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement
- * @generated
- */
- public Adapter createSvgFeComponentTransferElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement <em>Fe Func RElement</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement
- * @generated
- */
- public Adapter createSvgFeFuncRElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement <em>Fe Func GElement</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement
- * @generated
- */
- public Adapter createSvgFeFuncGElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement <em>Fe Func BElement</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement
- * @generated
- */
- public Adapter createSvgFeFuncBElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement <em>Fe Func AElement</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement
- * @generated
- */
- public Adapter createSvgFeFuncAElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement <em>Fe Composite Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement
- * @generated
- */
- public Adapter createSvgFeCompositeElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement <em>Fe Convolve Matrix Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement
- * @generated
- */
- public Adapter createSvgFeConvolveMatrixElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement <em>Fe Diffuse Lighting Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement
- * @generated
- */
- public Adapter createSvgFeDiffuseLightingElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement <em>Fe Displacement Map Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement
- * @generated
- */
- public Adapter createSvgFeDisplacementMapElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFloodElement <em>Fe Flood Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeFloodElement
- * @generated
- */
- public Adapter createSvgFeFloodElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement <em>Fe Gaussian Blur Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement
- * @generated
- */
- public Adapter createSvgFeGaussianBlurElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeImageElement <em>Fe Image Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeImageElement
- * @generated
- */
- public Adapter createSvgFeImageElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeMergeElement <em>Fe Merge Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeMergeElement
- * @generated
- */
- public Adapter createSvgFeMergeElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement <em>Fe Merge Node Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement
- * @generated
- */
- public Adapter createSvgFeMergeNodeElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement <em>Fe Morphology Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement
- * @generated
- */
- public Adapter createSvgFeMorphologyElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement <em>Fe Offset Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement
- * @generated
- */
- public Adapter createSvgFeOffsetElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement <em>Fe Specular Lighting Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement
- * @generated
- */
- public Adapter createSvgFeSpecularLightingElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeTileElement <em>Fe Tile Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeTileElement
- * @generated
- */
- public Adapter createSvgFeTileElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement <em>Fe Turbulence Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement
- * @generated
- */
- public Adapter createSvgFeTurbulenceElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAnimateElement <em>Animate Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgAnimateElement
- * @generated
- */
- public Adapter createSvgAnimateElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgMetadataElement <em>Metadata Element</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.fx.formats.svg.svg.SvgMetadataElement
- * @generated
- */
- public Adapter createSvgMetadataElementAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //SvgAdapterFactory
+/**
+ */
+package org.eclipse.fx.formats.svg.svg.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.fx.formats.svg.svg.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.formats.svg.svg.SvgPackage
+ * @generated
+ */
+public class SvgAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SvgPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SvgAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SvgPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SvgSwitch<Adapter> modelSwitch =
+ new SvgSwitch<Adapter>() {
+ @Override
+ public <T extends SvgElement> Adapter caseContentElement(ContentElement<T> object) {
+ return createContentElementAdapter();
+ }
+ @Override
+ public <T extends SvgElement> Adapter caseContainerElement(ContainerElement<T> object) {
+ return createContainerElementAdapter();
+ }
+ @Override
+ public Adapter caseStructuralElement(StructuralElement object) {
+ return createStructuralElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgElement(SvgElement object) {
+ return createSvgElementAdapter();
+ }
+ @Override
+ public Adapter caseDescriptiveElement(DescriptiveElement object) {
+ return createDescriptiveElementAdapter();
+ }
+ @Override
+ public Adapter caseGraphicsElement(GraphicsElement object) {
+ return createGraphicsElementAdapter();
+ }
+ @Override
+ public Adapter caseGraphicsReferencingElement(GraphicsReferencingElement object) {
+ return createGraphicsReferencingElementAdapter();
+ }
+ @Override
+ public Adapter caseShapeElement(ShapeElement object) {
+ return createShapeElementAdapter();
+ }
+ @Override
+ public Adapter caseBasicShapeElement(BasicShapeElement object) {
+ return createBasicShapeElementAdapter();
+ }
+ @Override
+ public Adapter caseTextContentElement(TextContentElement object) {
+ return createTextContentElementAdapter();
+ }
+ @Override
+ public Adapter caseTextContentChildElement(TextContentChildElement object) {
+ return createTextContentChildElementAdapter();
+ }
+ @Override
+ public Adapter caseGradientElement(GradientElement object) {
+ return createGradientElementAdapter();
+ }
+ @Override
+ public Adapter caseLightSourceElement(LightSourceElement object) {
+ return createLightSourceElementAdapter();
+ }
+ @Override
+ public Adapter caseFilterPrimitiveElement(FilterPrimitiveElement object) {
+ return createFilterPrimitiveElementAdapter();
+ }
+ @Override
+ public Adapter caseAnimationElement(AnimationElement object) {
+ return createAnimationElementAdapter();
+ }
+ @Override
+ public Adapter case____ENUMS____(____ENUMS____ object) {
+ return create____ENUMS____Adapter();
+ }
+ @Override
+ public Adapter case____DATATYPES____(____DATATYPES____ object) {
+ return create____DATATYPES____Adapter();
+ }
+ @Override
+ public Adapter case____ATTRIBUTES____(____ATTRIBUTES____ object) {
+ return create____ATTRIBUTES____Adapter();
+ }
+ @Override
+ public Adapter caseConditionalProcessingAttributes(ConditionalProcessingAttributes object) {
+ return createConditionalProcessingAttributesAdapter();
+ }
+ @Override
+ public Adapter caseCoreAttributes(CoreAttributes object) {
+ return createCoreAttributesAdapter();
+ }
+ @Override
+ public Adapter caseDocumentEventAttributes(DocumentEventAttributes object) {
+ return createDocumentEventAttributesAdapter();
+ }
+ @Override
+ public Adapter caseGraphicalEventAttributes(GraphicalEventAttributes object) {
+ return createGraphicalEventAttributesAdapter();
+ }
+ @Override
+ public Adapter casePresentationAttributes(PresentationAttributes object) {
+ return createPresentationAttributesAdapter();
+ }
+ @Override
+ public Adapter caseXLinkAttributes(XLinkAttributes object) {
+ return createXLinkAttributesAdapter();
+ }
+ @Override
+ public Adapter caseFilterPrimitiveAttributes(FilterPrimitiveAttributes object) {
+ return createFilterPrimitiveAttributesAdapter();
+ }
+ @Override
+ public Adapter case____ELEMENTES____(____ELEMENTES____ object) {
+ return create____ELEMENTES____Adapter();
+ }
+ @Override
+ public Adapter caseSvgSvgElement(SvgSvgElement object) {
+ return createSvgSvgElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgGElement(SvgGElement object) {
+ return createSvgGElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgDefsElement(SvgDefsElement object) {
+ return createSvgDefsElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgDescElement(SvgDescElement object) {
+ return createSvgDescElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgTitleElement(SvgTitleElement object) {
+ return createSvgTitleElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgSymbolElement(SvgSymbolElement object) {
+ return createSvgSymbolElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgUseElement(SvgUseElement object) {
+ return createSvgUseElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgImageElement(SvgImageElement object) {
+ return createSvgImageElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgSwitchElement(SvgSwitchElement object) {
+ return createSvgSwitchElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgPathElement(SvgPathElement object) {
+ return createSvgPathElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgRectElement(SvgRectElement object) {
+ return createSvgRectElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgCircleElement(SvgCircleElement object) {
+ return createSvgCircleElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgEllipseElement(SvgEllipseElement object) {
+ return createSvgEllipseElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgLineElement(SvgLineElement object) {
+ return createSvgLineElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgPolylineElement(SvgPolylineElement object) {
+ return createSvgPolylineElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgPolygonElement(SvgPolygonElement object) {
+ return createSvgPolygonElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgTextElement(SvgTextElement object) {
+ return createSvgTextElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgTspanElement(SvgTspanElement object) {
+ return createSvgTspanElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgTrefElement(SvgTrefElement object) {
+ return createSvgTrefElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgTextPathElement(SvgTextPathElement object) {
+ return createSvgTextPathElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgAltGlyphElement(SvgAltGlyphElement object) {
+ return createSvgAltGlyphElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgAltGlyphDefElement(SvgAltGlyphDefElement object) {
+ return createSvgAltGlyphDefElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgAltGlyphItemElement(SvgAltGlyphItemElement object) {
+ return createSvgAltGlyphItemElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgAltGlyphRefElement(SvgAltGlyphRefElement object) {
+ return createSvgAltGlyphRefElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgMarkerElement(SvgMarkerElement object) {
+ return createSvgMarkerElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgColorProfileElement(SvgColorProfileElement object) {
+ return createSvgColorProfileElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgLinearGradientElement(SvgLinearGradientElement object) {
+ return createSvgLinearGradientElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgRadialGradientElement(SvgRadialGradientElement object) {
+ return createSvgRadialGradientElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgStopElement(SvgStopElement object) {
+ return createSvgStopElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgPatternElement(SvgPatternElement object) {
+ return createSvgPatternElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgClipPathElement(SvgClipPathElement object) {
+ return createSvgClipPathElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgMaskElement(SvgMaskElement object) {
+ return createSvgMaskElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFilterElement(SvgFilterElement object) {
+ return createSvgFilterElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeDistantLightElement(SvgFeDistantLightElement object) {
+ return createSvgFeDistantLightElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFePointLightElement(SvgFePointLightElement object) {
+ return createSvgFePointLightElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeSpotLightElement(SvgFeSpotLightElement object) {
+ return createSvgFeSpotLightElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeBlendElement(SvgFeBlendElement object) {
+ return createSvgFeBlendElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeColorMatrixElement(SvgFeColorMatrixElement object) {
+ return createSvgFeColorMatrixElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeComponentTransferElement(SvgFeComponentTransferElement object) {
+ return createSvgFeComponentTransferElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeFuncRElement(SvgFeFuncRElement object) {
+ return createSvgFeFuncRElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeFuncGElement(SvgFeFuncGElement object) {
+ return createSvgFeFuncGElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeFuncBElement(SvgFeFuncBElement object) {
+ return createSvgFeFuncBElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeFuncAElement(SvgFeFuncAElement object) {
+ return createSvgFeFuncAElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeCompositeElement(SvgFeCompositeElement object) {
+ return createSvgFeCompositeElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeConvolveMatrixElement(SvgFeConvolveMatrixElement object) {
+ return createSvgFeConvolveMatrixElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeDiffuseLightingElement(SvgFeDiffuseLightingElement object) {
+ return createSvgFeDiffuseLightingElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeDisplacementMapElement(SvgFeDisplacementMapElement object) {
+ return createSvgFeDisplacementMapElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeFloodElement(SvgFeFloodElement object) {
+ return createSvgFeFloodElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeGaussianBlurElement(SvgFeGaussianBlurElement object) {
+ return createSvgFeGaussianBlurElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeImageElement(SvgFeImageElement object) {
+ return createSvgFeImageElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeMergeElement(SvgFeMergeElement object) {
+ return createSvgFeMergeElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeMergeNodeElement(SvgFeMergeNodeElement object) {
+ return createSvgFeMergeNodeElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeMorphologyElement(SvgFeMorphologyElement object) {
+ return createSvgFeMorphologyElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeOffsetElement(SvgFeOffsetElement object) {
+ return createSvgFeOffsetElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeSpecularLightingElement(SvgFeSpecularLightingElement object) {
+ return createSvgFeSpecularLightingElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeTileElement(SvgFeTileElement object) {
+ return createSvgFeTileElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgFeTurbulenceElement(SvgFeTurbulenceElement object) {
+ return createSvgFeTurbulenceElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgAnimateElement(SvgAnimateElement object) {
+ return createSvgAnimateElementAdapter();
+ }
+ @Override
+ public Adapter caseSvgMetadataElement(SvgMetadataElement object) {
+ return createSvgMetadataElementAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ContentElement <em>Content Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.ContentElement
+ * @generated
+ */
+ public Adapter createContentElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ContainerElement <em>Container Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.ContainerElement
+ * @generated
+ */
+ public Adapter createContainerElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.StructuralElement <em>Structural Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.StructuralElement
+ * @generated
+ */
+ public Adapter createStructuralElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgElement
+ * @generated
+ */
+ public Adapter createSvgElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.DescriptiveElement <em>Descriptive Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.DescriptiveElement
+ * @generated
+ */
+ public Adapter createDescriptiveElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GraphicsElement <em>Graphics Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.GraphicsElement
+ * @generated
+ */
+ public Adapter createGraphicsElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement <em>Graphics Referencing Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement
+ * @generated
+ */
+ public Adapter createGraphicsReferencingElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ShapeElement <em>Shape Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.ShapeElement
+ * @generated
+ */
+ public Adapter createShapeElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.BasicShapeElement <em>Basic Shape Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.BasicShapeElement
+ * @generated
+ */
+ public Adapter createBasicShapeElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.TextContentElement <em>Text Content Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.TextContentElement
+ * @generated
+ */
+ public Adapter createTextContentElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.TextContentChildElement <em>Text Content Child Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.TextContentChildElement
+ * @generated
+ */
+ public Adapter createTextContentChildElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GradientElement <em>Gradient Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.GradientElement
+ * @generated
+ */
+ public Adapter createGradientElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.LightSourceElement <em>Light Source Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.LightSourceElement
+ * @generated
+ */
+ public Adapter createLightSourceElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement <em>Filter Primitive Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement
+ * @generated
+ */
+ public Adapter createFilterPrimitiveElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.AnimationElement <em>Animation Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.AnimationElement
+ * @generated
+ */
+ public Adapter createAnimationElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____ENUMS____ <em>ENUMS </em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.____ENUMS____
+ * @generated
+ */
+ public Adapter create____ENUMS____Adapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____DATATYPES____ <em>DATATYPES </em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.____DATATYPES____
+ * @generated
+ */
+ public Adapter create____DATATYPES____Adapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____ <em>ATTRIBUTES </em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____
+ * @generated
+ */
+ public Adapter create____ATTRIBUTES____Adapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes <em>Conditional Processing Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes
+ * @generated
+ */
+ public Adapter createConditionalProcessingAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.CoreAttributes <em>Core Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.CoreAttributes
+ * @generated
+ */
+ public Adapter createCoreAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.DocumentEventAttributes <em>Document Event Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.DocumentEventAttributes
+ * @generated
+ */
+ public Adapter createDocumentEventAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes <em>Graphical Event Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes
+ * @generated
+ */
+ public Adapter createGraphicalEventAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.PresentationAttributes <em>Presentation Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.PresentationAttributes
+ * @generated
+ */
+ public Adapter createPresentationAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.XLinkAttributes <em>XLink Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.XLinkAttributes
+ * @generated
+ */
+ public Adapter createXLinkAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes <em>Filter Primitive Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes
+ * @generated
+ */
+ public Adapter createFilterPrimitiveAttributesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.____ELEMENTES____ <em>ELEMENTES </em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.____ELEMENTES____
+ * @generated
+ */
+ public Adapter create____ELEMENTES____Adapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgSvgElement <em>Svg Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgSvgElement
+ * @generated
+ */
+ public Adapter createSvgSvgElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgGElement <em>GElement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgGElement
+ * @generated
+ */
+ public Adapter createSvgGElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgDefsElement <em>Defs Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgDefsElement
+ * @generated
+ */
+ public Adapter createSvgDefsElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgDescElement <em>Desc Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgDescElement
+ * @generated
+ */
+ public Adapter createSvgDescElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTitleElement <em>Title Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgTitleElement
+ * @generated
+ */
+ public Adapter createSvgTitleElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgSymbolElement <em>Symbol Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgSymbolElement
+ * @generated
+ */
+ public Adapter createSvgSymbolElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgUseElement <em>Use Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgUseElement
+ * @generated
+ */
+ public Adapter createSvgUseElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgImageElement <em>Image Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgImageElement
+ * @generated
+ */
+ public Adapter createSvgImageElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgSwitchElement <em>Switch Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgSwitchElement
+ * @generated
+ */
+ public Adapter createSvgSwitchElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPathElement <em>Path Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgPathElement
+ * @generated
+ */
+ public Adapter createSvgPathElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgRectElement <em>Rect Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgRectElement
+ * @generated
+ */
+ public Adapter createSvgRectElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgCircleElement <em>Circle Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgCircleElement
+ * @generated
+ */
+ public Adapter createSvgCircleElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgEllipseElement <em>Ellipse Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgEllipseElement
+ * @generated
+ */
+ public Adapter createSvgEllipseElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgLineElement <em>Line Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgLineElement
+ * @generated
+ */
+ public Adapter createSvgLineElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPolylineElement <em>Polyline Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgPolylineElement
+ * @generated
+ */
+ public Adapter createSvgPolylineElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPolygonElement <em>Polygon Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgPolygonElement
+ * @generated
+ */
+ public Adapter createSvgPolygonElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTextElement <em>Text Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgTextElement
+ * @generated
+ */
+ public Adapter createSvgTextElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTspanElement <em>Tspan Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgTspanElement
+ * @generated
+ */
+ public Adapter createSvgTspanElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTrefElement <em>Tref Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgTrefElement
+ * @generated
+ */
+ public Adapter createSvgTrefElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgTextPathElement <em>Text Path Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgTextPathElement
+ * @generated
+ */
+ public Adapter createSvgTextPathElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement <em>Alt Glyph Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement
+ * @generated
+ */
+ public Adapter createSvgAltGlyphElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement <em>Alt Glyph Def Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement
+ * @generated
+ */
+ public Adapter createSvgAltGlyphDefElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement <em>Alt Glyph Item Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement
+ * @generated
+ */
+ public Adapter createSvgAltGlyphItemElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement <em>Alt Glyph Ref Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement
+ * @generated
+ */
+ public Adapter createSvgAltGlyphRefElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgMarkerElement <em>Marker Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgMarkerElement
+ * @generated
+ */
+ public Adapter createSvgMarkerElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgColorProfileElement <em>Color Profile Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgColorProfileElement
+ * @generated
+ */
+ public Adapter createSvgColorProfileElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement <em>Linear Gradient Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement
+ * @generated
+ */
+ public Adapter createSvgLinearGradientElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement <em>Radial Gradient Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement
+ * @generated
+ */
+ public Adapter createSvgRadialGradientElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgStopElement <em>Stop Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgStopElement
+ * @generated
+ */
+ public Adapter createSvgStopElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgPatternElement <em>Pattern Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgPatternElement
+ * @generated
+ */
+ public Adapter createSvgPatternElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgClipPathElement <em>Clip Path Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgClipPathElement
+ * @generated
+ */
+ public Adapter createSvgClipPathElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgMaskElement <em>Mask Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgMaskElement
+ * @generated
+ */
+ public Adapter createSvgMaskElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFilterElement <em>Filter Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFilterElement
+ * @generated
+ */
+ public Adapter createSvgFilterElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement <em>Fe Distant Light Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement
+ * @generated
+ */
+ public Adapter createSvgFeDistantLightElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFePointLightElement <em>Fe Point Light Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFePointLightElement
+ * @generated
+ */
+ public Adapter createSvgFePointLightElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement <em>Fe Spot Light Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement
+ * @generated
+ */
+ public Adapter createSvgFeSpotLightElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeBlendElement <em>Fe Blend Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeBlendElement
+ * @generated
+ */
+ public Adapter createSvgFeBlendElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement <em>Fe Color Matrix Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement
+ * @generated
+ */
+ public Adapter createSvgFeColorMatrixElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement <em>Fe Component Transfer Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement
+ * @generated
+ */
+ public Adapter createSvgFeComponentTransferElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement <em>Fe Func RElement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement
+ * @generated
+ */
+ public Adapter createSvgFeFuncRElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement <em>Fe Func GElement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement
+ * @generated
+ */
+ public Adapter createSvgFeFuncGElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement <em>Fe Func BElement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement
+ * @generated
+ */
+ public Adapter createSvgFeFuncBElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement <em>Fe Func AElement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement
+ * @generated
+ */
+ public Adapter createSvgFeFuncAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement <em>Fe Composite Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement
+ * @generated
+ */
+ public Adapter createSvgFeCompositeElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement <em>Fe Convolve Matrix Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement
+ * @generated
+ */
+ public Adapter createSvgFeConvolveMatrixElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement <em>Fe Diffuse Lighting Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement
+ * @generated
+ */
+ public Adapter createSvgFeDiffuseLightingElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement <em>Fe Displacement Map Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement
+ * @generated
+ */
+ public Adapter createSvgFeDisplacementMapElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeFloodElement <em>Fe Flood Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeFloodElement
+ * @generated
+ */
+ public Adapter createSvgFeFloodElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement <em>Fe Gaussian Blur Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement
+ * @generated
+ */
+ public Adapter createSvgFeGaussianBlurElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeImageElement <em>Fe Image Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeImageElement
+ * @generated
+ */
+ public Adapter createSvgFeImageElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeMergeElement <em>Fe Merge Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeMergeElement
+ * @generated
+ */
+ public Adapter createSvgFeMergeElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement <em>Fe Merge Node Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement
+ * @generated
+ */
+ public Adapter createSvgFeMergeNodeElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement <em>Fe Morphology Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement
+ * @generated
+ */
+ public Adapter createSvgFeMorphologyElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement <em>Fe Offset Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement
+ * @generated
+ */
+ public Adapter createSvgFeOffsetElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement <em>Fe Specular Lighting Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement
+ * @generated
+ */
+ public Adapter createSvgFeSpecularLightingElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeTileElement <em>Fe Tile Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeTileElement
+ * @generated
+ */
+ public Adapter createSvgFeTileElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement <em>Fe Turbulence Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement
+ * @generated
+ */
+ public Adapter createSvgFeTurbulenceElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgAnimateElement <em>Animate Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgAnimateElement
+ * @generated
+ */
+ public Adapter createSvgAnimateElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.fx.formats.svg.svg.SvgMetadataElement <em>Metadata Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.fx.formats.svg.svg.SvgMetadataElement
+ * @generated
+ */
+ public Adapter createSvgMetadataElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SvgAdapterFactory
diff --git a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgSwitch.java b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgSwitch.java
old mode 100755
new mode 100644
index ce60b7a..8a90bd1
--- a/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgSwitch.java
+++ b/bundles/runtime/org.eclipse.fx.formats.svg/src/org/eclipse/fx/formats/svg/svg/util/SvgSwitch.java
@@ -1,2311 +1,2219 @@
-/*******************************************************************************
- * Copyright (c) 2012 BestSolution.at and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.fx.formats.svg.svg.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.Switch;
-import org.eclipse.fx.formats.svg.svg.AnimationElement;
-import org.eclipse.fx.formats.svg.svg.BasicShapeElement;
-import org.eclipse.fx.formats.svg.svg.ConditionalProcessingAttributes;
-import org.eclipse.fx.formats.svg.svg.ContainerElement;
-import org.eclipse.fx.formats.svg.svg.ContentElement;
-import org.eclipse.fx.formats.svg.svg.CoreAttributes;
-import org.eclipse.fx.formats.svg.svg.DescriptiveElement;
-import org.eclipse.fx.formats.svg.svg.DocumentEventAttributes;
-import org.eclipse.fx.formats.svg.svg.FilterPrimitiveAttributes;
-import org.eclipse.fx.formats.svg.svg.FilterPrimitiveElement;
-import org.eclipse.fx.formats.svg.svg.GradientElement;
-import org.eclipse.fx.formats.svg.svg.GraphicalEventAttributes;
-import org.eclipse.fx.formats.svg.svg.GraphicsElement;
-import org.eclipse.fx.formats.svg.svg.GraphicsReferencingElement;
-import org.eclipse.fx.formats.svg.svg.LightSourceElement;
-import org.eclipse.fx.formats.svg.svg.PresentationAttributes;
-import org.eclipse.fx.formats.svg.svg.ShapeElement;
-import org.eclipse.fx.formats.svg.svg.StructuralElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphDefElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphItemElement;
-import org.eclipse.fx.formats.svg.svg.SvgAltGlyphRefElement;
-import org.eclipse.fx.formats.svg.svg.SvgAnimateElement;
-import org.eclipse.fx.formats.svg.svg.SvgCircleElement;
-import org.eclipse.fx.formats.svg.svg.SvgClipPathElement;
-import org.eclipse.fx.formats.svg.svg.SvgColorProfileElement;
-import org.eclipse.fx.formats.svg.svg.SvgDefsElement;
-import org.eclipse.fx.formats.svg.svg.SvgDescElement;
-import org.eclipse.fx.formats.svg.svg.SvgElement;
-import org.eclipse.fx.formats.svg.svg.SvgEllipseElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeBlendElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeColorMatrixElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeComponentTransferElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeCompositeElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeConvolveMatrixElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeDiffuseLightingElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeDisplacementMapElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeDistantLightElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFloodElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncAElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncBElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncGElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeFuncRElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeGaussianBlurElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeImageElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeMergeElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeMergeNodeElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeMorphologyElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeOffsetElement;
-import org.eclipse.fx.formats.svg.svg.SvgFePointLightElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeSpecularLightingElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeSpotLightElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeTileElement;
-import org.eclipse.fx.formats.svg.svg.SvgFeTurbulenceElement;
-import org.eclipse.fx.formats.svg.svg.SvgFilterElement;
-import org.eclipse.fx.formats.svg.svg.SvgGElement;
-import org.eclipse.fx.formats.svg.svg.SvgImageElement;
-import org.eclipse.fx.formats.svg.svg.SvgLineElement;
-import org.eclipse.fx.formats.svg.svg.SvgLinearGradientElement;
-import org.eclipse.fx.formats.svg.svg.SvgMarkerElement;
-import org.eclipse.fx.formats.svg.svg.SvgMaskElement;
-import org.eclipse.fx.formats.svg.svg.SvgMetadataElement;
-import org.eclipse.fx.formats.svg.svg.SvgPackage;
-import org.eclipse.fx.formats.svg.svg.SvgPathElement;
-import org.eclipse.fx.formats.svg.svg.SvgPatternElement;
-import org.eclipse.fx.formats.svg.svg.SvgPolygonElement;
-import org.eclipse.fx.formats.svg.svg.SvgPolylineElement;
-import org.eclipse.fx.formats.svg.svg.SvgRadialGradientElement;
-import org.eclipse.fx.formats.svg.svg.SvgRectElement;
-import org.eclipse.fx.formats.svg.svg.SvgStopElement;
-import org.eclipse.fx.formats.svg.svg.SvgSvgElement;
-import org.eclipse.fx.formats.svg.svg.SvgSwitchElement;
-import org.eclipse.fx.formats.svg.svg.SvgSymbolElement;
-import org.eclipse.fx.formats.svg.svg.SvgTextElement;
-import org.eclipse.fx.formats.svg.svg.SvgTextPathElement;
-import org.eclipse.fx.formats.svg.svg.SvgTitleElement;
-import org.eclipse.fx.formats.svg.svg.SvgTrefElement;
-import org.eclipse.fx.formats.svg.svg.SvgTspanElement;
-import org.eclipse.fx.formats.svg.svg.SvgUseElement;
-import org.eclipse.fx.formats.svg.svg.TextContentChildElement;
-import org.eclipse.fx.formats.svg.svg.TextContentElement;
-import org.eclipse.fx.formats.svg.svg.XLinkAttributes;
-import org.eclipse.fx.formats.svg.svg.____ATTRIBUTES____;
-import org.eclipse.fx.formats.svg.svg.____DATATYPES____;
-import org.eclipse.fx.formats.svg.svg.____ELEMENTES____;
-import org.eclipse.fx.formats.svg.svg.____ENUMS____;
-import org.eclipse.jdt.annotation.Nullable;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.fx.formats.svg.svg.SvgPackage
- * @generated
- */
-public class SvgSwitch<@Nullable T1> extends Switch<T1> {
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static SvgPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SvgSwitch() {
- if (modelPackage == null) {
- modelPackage = SvgPackage.eINSTANCE;
- }
- }
-
- /**
- * Checks whether this is a switch for the given package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @parameter ePackage the package in question.
- * @return whether this is a switch for the given package.
- * @generated
- */
- @Override
- protected boolean isSwitchFor(EPackage ePackage) {
- return ePackage == modelPackage;
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- @Override
- protected T1 doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case SvgPackage.CONTENT_ELEMENT: {
- ContentElement<?> contentElement = (ContentElement<?>)theEObject;
- T1 result = caseContentElement(contentElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.CONTAINER_ELEMENT: {
- ContainerElement<?> containerElement = (ContainerElement<?>)theEObject;
- T1 result = caseContainerElement(containerElement);
- if (result == null) result = caseContentElement(containerElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.STRUCTURAL_ELEMENT: {
- StructuralElement structuralElement = (StructuralElement)theEObject;
- T1 result = caseStructuralElement(structuralElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ELEMENT: {
- SvgElement svgElement = (SvgElement)theEObject;
- T1 result = caseSvgElement(svgElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.DESCRIPTIVE_ELEMENT: {
- DescriptiveElement descriptiveElement = (DescriptiveElement)theEObject;
- T1 result = caseDescriptiveElement(descriptiveElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.GRAPHICS_ELEMENT: {
- GraphicsElement graphicsElement = (GraphicsElement)theEObject;
- T1 result = caseGraphicsElement(graphicsElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.GRAPHICS_REFERENCING_ELEMENT: {
- GraphicsReferencingElement graphicsReferencingElement = (GraphicsReferencingElement)theEObject;
- T1 result = caseGraphicsReferencingElement(graphicsReferencingElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SHAPE_ELEMENT: {
- ShapeElement shapeElement = (ShapeElement)theEObject;
- T1 result = caseShapeElement(shapeElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.BASIC_SHAPE_ELEMENT: {
- BasicShapeElement basicShapeElement = (BasicShapeElement)theEObject;
- T1 result = caseBasicShapeElement(basicShapeElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.TEXT_CONTENT_ELEMENT: {
- TextContentElement textContentElement = (TextContentElement)theEObject;
- T1 result = caseTextContentElement(textContentElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.TEXT_CONTENT_CHILD_ELEMENT: {
- TextContentChildElement textContentChildElement = (TextContentChildElement)theEObject;
- T1 result = caseTextContentChildElement(textContentChildElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.GRADIENT_ELEMENT: {
- GradientElement gradientElement = (GradientElement)theEObject;
- T1 result = caseGradientElement(gradientElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.LIGHT_SOURCE_ELEMENT: {
- LightSourceElement lightSourceElement = (LightSourceElement)theEObject;
- T1 result = caseLightSourceElement(lightSourceElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.FILTER_PRIMITIVE_ELEMENT: {
- FilterPrimitiveElement filterPrimitiveElement = (FilterPrimitiveElement)theEObject;
- T1 result = caseFilterPrimitiveElement(filterPrimitiveElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.ANIMATION_ELEMENT: {
- AnimationElement animationElement = (AnimationElement)theEObject;
- T1 result = caseAnimationElement(animationElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage._ENUMS_: {
- ____ENUMS____ ____ENUMS____ = (____ENUMS____)theEObject;
- T1 result = case____ENUMS____(____ENUMS____);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage._DATATYPES_: {
- ____DATATYPES____ ____DATATYPES____ = (____DATATYPES____)theEObject;
- T1 result = case____DATATYPES____(____DATATYPES____);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage._ATTRIBUTES_: {
- ____ATTRIBUTES____ ____ATTRIBUTES____ = (____ATTRIBUTES____)theEObject;
- T1 result = case____ATTRIBUTES____(____ATTRIBUTES____);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.CONDITIONAL_PROCESSING_ATTRIBUTES: {
- ConditionalProcessingAttributes conditionalProcessingAttributes = (ConditionalProcessingAttributes)theEObject;
- T1 result = caseConditionalProcessingAttributes(conditionalProcessingAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.CORE_ATTRIBUTES: {
- CoreAttributes coreAttributes = (CoreAttributes)theEObject;
- T1 result = caseCoreAttributes(coreAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.DOCUMENT_EVENT_ATTRIBUTES: {
- DocumentEventAttributes documentEventAttributes = (DocumentEventAttributes)theEObject;
- T1 result = caseDocumentEventAttributes(documentEventAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.GRAPHICAL_EVENT_ATTRIBUTES: {
- GraphicalEventAttributes graphicalEventAttributes = (GraphicalEventAttributes)theEObject;
- T1 result = caseGraphicalEventAttributes(graphicalEventAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.PRESENTATION_ATTRIBUTES: {
- PresentationAttributes presentationAttributes = (PresentationAttributes)theEObject;
- T1 result = casePresentationAttributes(presentationAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.XLINK_ATTRIBUTES: {
- XLinkAttributes xLinkAttributes = (XLinkAttributes)theEObject;
- T1 result = caseXLinkAttributes(xLinkAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.FILTER_PRIMITIVE_ATTRIBUTES: {
- FilterPrimitiveAttributes filterPrimitiveAttributes = (FilterPrimitiveAttributes)theEObject;
- T1 result = caseFilterPrimitiveAttributes(filterPrimitiveAttributes);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage._ELEMENTES_: {
- ____ELEMENTES____ ____ELEMENTES____ = (____ELEMENTES____)theEObject;
- T1 result = case____ELEMENTES____(____ELEMENTES____);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_SVG_ELEMENT: {
- SvgSvgElement svgSvgElement = (SvgSvgElement)theEObject;
- T1 result = caseSvgSvgElement(svgSvgElement);
- if (result == null) result = caseSvgElement(svgSvgElement);
- if (result == null) result = caseContainerElement(svgSvgElement);
- if (result == null) result = caseStructuralElement(svgSvgElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgSvgElement);
- if (result == null) result = caseCoreAttributes(svgSvgElement);
- if (result == null) result = caseDocumentEventAttributes(svgSvgElement);
- if (result == null) result = caseGraphicalEventAttributes(svgSvgElement);
- if (result == null) result = casePresentationAttributes(svgSvgElement);
- if (result == null) result = caseContentElement(svgSvgElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_GELEMENT: {
- SvgGElement svgGElement = (SvgGElement)theEObject;
- T1 result = caseSvgGElement(svgGElement);
- if (result == null) result = caseSvgElement(svgGElement);
- if (result == null) result = caseContainerElement(svgGElement);
- if (result == null) result = caseStructuralElement(svgGElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgGElement);
- if (result == null) result = caseCoreAttributes(svgGElement);
- if (result == null) result = caseGraphicalEventAttributes(svgGElement);
- if (result == null) result = casePresentationAttributes(svgGElement);
- if (result == null) result = caseContentElement(svgGElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_DEFS_ELEMENT: {
- SvgDefsElement svgDefsElement = (SvgDefsElement)theEObject;
- T1 result = caseSvgDefsElement(svgDefsElement);
- if (result == null) result = caseSvgElement(svgDefsElement);
- if (result == null) result = caseContainerElement(svgDefsElement);
- if (result == null) result = caseStructuralElement(svgDefsElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgDefsElement);
- if (result == null) result = caseCoreAttributes(svgDefsElement);
- if (result == null) result = caseGraphicalEventAttributes(svgDefsElement);
- if (result == null) result = casePresentationAttributes(svgDefsElement);
- if (result == null) result = caseContentElement(svgDefsElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_DESC_ELEMENT: {
- SvgDescElement svgDescElement = (SvgDescElement)theEObject;
- T1 result = caseSvgDescElement(svgDescElement);
- if (result == null) result = caseSvgElement(svgDescElement);
- if (result == null) result = caseDescriptiveElement(svgDescElement);
- if (result == null) result = caseCoreAttributes(svgDescElement);
- if (result == null) result = caseContentElement(svgDescElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_TITLE_ELEMENT: {
- SvgTitleElement svgTitleElement = (SvgTitleElement)theEObject;
- T1 result = caseSvgTitleElement(svgTitleElement);
- if (result == null) result = caseSvgElement(svgTitleElement);
- if (result == null) result = caseDescriptiveElement(svgTitleElement);
- if (result == null) result = caseCoreAttributes(svgTitleElement);
- if (result == null) result = caseContentElement(svgTitleElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_SYMBOL_ELEMENT: {
- SvgSymbolElement svgSymbolElement = (SvgSymbolElement)theEObject;
- T1 result = caseSvgSymbolElement(svgSymbolElement);
- if (result == null) result = caseSvgElement(svgSymbolElement);
- if (result == null) result = caseContainerElement(svgSymbolElement);
- if (result == null) result = caseStructuralElement(svgSymbolElement);
- if (result == null) result = caseCoreAttributes(svgSymbolElement);
- if (result == null) result = caseGraphicalEventAttributes(svgSymbolElement);
- if (result == null) result = casePresentationAttributes(svgSymbolElement);
- if (result == null) result = caseContentElement(svgSymbolElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_USE_ELEMENT: {
- SvgUseElement svgUseElement = (SvgUseElement)theEObject;
- T1 result = caseSvgUseElement(svgUseElement);
- if (result == null) result = caseSvgElement(svgUseElement);
- if (result == null) result = caseGraphicsElement(svgUseElement);
- if (result == null) result = caseGraphicsReferencingElement(svgUseElement);
- if (result == null) result = caseStructuralElement(svgUseElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgUseElement);
- if (result == null) result = caseCoreAttributes(svgUseElement);
- if (result == null) result = caseGraphicalEventAttributes(svgUseElement);
- if (result == null) result = casePresentationAttributes(svgUseElement);
- if (result == null) result = caseXLinkAttributes(svgUseElement);
- if (result == null) result = caseContentElement(svgUseElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_IMAGE_ELEMENT: {
- SvgImageElement svgImageElement = (SvgImageElement)theEObject;
- T1 result = caseSvgImageElement(svgImageElement);
- if (result == null) result = caseSvgElement(svgImageElement);
- if (result == null) result = caseGraphicsElement(svgImageElement);
- if (result == null) result = caseGraphicsReferencingElement(svgImageElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgImageElement);
- if (result == null) result = caseCoreAttributes(svgImageElement);
- if (result == null) result = caseGraphicalEventAttributes(svgImageElement);
- if (result == null) result = casePresentationAttributes(svgImageElement);
- if (result == null) result = caseXLinkAttributes(svgImageElement);
- if (result == null) result = caseContentElement(svgImageElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_SWITCH_ELEMENT: {
- SvgSwitchElement svgSwitchElement = (SvgSwitchElement)theEObject;
- T1 result = caseSvgSwitchElement(svgSwitchElement);
- if (result == null) result = caseSvgElement(svgSwitchElement);
- if (result == null) result = caseContainerElement(svgSwitchElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgSwitchElement);
- if (result == null) result = caseCoreAttributes(svgSwitchElement);
- if (result == null) result = caseGraphicalEventAttributes(svgSwitchElement);
- if (result == null) result = casePresentationAttributes(svgSwitchElement);
- if (result == null) result = caseContentElement(svgSwitchElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_PATH_ELEMENT: {
- SvgPathElement svgPathElement = (SvgPathElement)theEObject;
- T1 result = caseSvgPathElement(svgPathElement);
- if (result == null) result = caseSvgElement(svgPathElement);
- if (result == null) result = caseGraphicsElement(svgPathElement);
- if (result == null) result = caseShapeElement(svgPathElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgPathElement);
- if (result == null) result = caseCoreAttributes(svgPathElement);
- if (result == null) result = caseGraphicalEventAttributes(svgPathElement);
- if (result == null) result = casePresentationAttributes(svgPathElement);
- if (result == null) result = caseContentElement(svgPathElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_RECT_ELEMENT: {
- SvgRectElement svgRectElement = (SvgRectElement)theEObject;
- T1 result = caseSvgRectElement(svgRectElement);
- if (result == null) result = caseSvgElement(svgRectElement);
- if (result == null) result = caseBasicShapeElement(svgRectElement);
- if (result == null) result = caseGraphicsElement(svgRectElement);
- if (result == null) result = caseShapeElement(svgRectElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgRectElement);
- if (result == null) result = caseCoreAttributes(svgRectElement);
- if (result == null) result = caseGraphicalEventAttributes(svgRectElement);
- if (result == null) result = casePresentationAttributes(svgRectElement);
- if (result == null) result = caseContentElement(svgRectElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_CIRCLE_ELEMENT: {
- SvgCircleElement svgCircleElement = (SvgCircleElement)theEObject;
- T1 result = caseSvgCircleElement(svgCircleElement);
- if (result == null) result = caseSvgElement(svgCircleElement);
- if (result == null) result = caseBasicShapeElement(svgCircleElement);
- if (result == null) result = caseGraphicsElement(svgCircleElement);
- if (result == null) result = caseShapeElement(svgCircleElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgCircleElement);
- if (result == null) result = caseCoreAttributes(svgCircleElement);
- if (result == null) result = caseGraphicalEventAttributes(svgCircleElement);
- if (result == null) result = casePresentationAttributes(svgCircleElement);
- if (result == null) result = caseContentElement(svgCircleElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ELLIPSE_ELEMENT: {
- SvgEllipseElement svgEllipseElement = (SvgEllipseElement)theEObject;
- T1 result = caseSvgEllipseElement(svgEllipseElement);
- if (result == null) result = caseSvgElement(svgEllipseElement);
- if (result == null) result = caseBasicShapeElement(svgEllipseElement);
- if (result == null) result = caseGraphicsElement(svgEllipseElement);
- if (result == null) result = caseShapeElement(svgEllipseElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgEllipseElement);
- if (result == null) result = caseCoreAttributes(svgEllipseElement);
- if (result == null) result = caseGraphicalEventAttributes(svgEllipseElement);
- if (result == null) result = casePresentationAttributes(svgEllipseElement);
- if (result == null) result = caseContentElement(svgEllipseElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_LINE_ELEMENT: {
- SvgLineElement svgLineElement = (SvgLineElement)theEObject;
- T1 result = caseSvgLineElement(svgLineElement);
- if (result == null) result = caseSvgElement(svgLineElement);
- if (result == null) result = caseBasicShapeElement(svgLineElement);
- if (result == null) result = caseGraphicsElement(svgLineElement);
- if (result == null) result = caseShapeElement(svgLineElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgLineElement);
- if (result == null) result = caseCoreAttributes(svgLineElement);
- if (result == null) result = caseGraphicalEventAttributes(svgLineElement);
- if (result == null) result = casePresentationAttributes(svgLineElement);
- if (result == null) result = caseContentElement(svgLineElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_POLYLINE_ELEMENT: {
- SvgPolylineElement svgPolylineElement = (SvgPolylineElement)theEObject;
- T1 result = caseSvgPolylineElement(svgPolylineElement);
- if (result == null) result = caseSvgElement(svgPolylineElement);
- if (result == null) result = caseBasicShapeElement(svgPolylineElement);
- if (result == null) result = caseGraphicsElement(svgPolylineElement);
- if (result == null) result = caseShapeElement(svgPolylineElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgPolylineElement);
- if (result == null) result = caseCoreAttributes(svgPolylineElement);
- if (result == null) result = caseGraphicalEventAttributes(svgPolylineElement);
- if (result == null) result = casePresentationAttributes(svgPolylineElement);
- if (result == null) result = caseContentElement(svgPolylineElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_POLYGON_ELEMENT: {
- SvgPolygonElement svgPolygonElement = (SvgPolygonElement)theEObject;
- T1 result = caseSvgPolygonElement(svgPolygonElement);
- if (result == null) result = caseSvgElement(svgPolygonElement);
- if (result == null) result = caseBasicShapeElement(svgPolygonElement);
- if (result == null) result = caseGraphicsElement(svgPolygonElement);
- if (result == null) result = caseShapeElement(svgPolygonElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgPolygonElement);
- if (result == null) result = caseCoreAttributes(svgPolygonElement);
- if (result == null) result = caseGraphicalEventAttributes(svgPolygonElement);
- if (result == null) result = casePresentationAttributes(svgPolygonElement);
- if (result == null) result = caseContentElement(svgPolygonElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_TEXT_ELEMENT: {
- SvgTextElement svgTextElement = (SvgTextElement)theEObject;
- T1 result = caseSvgTextElement(svgTextElement);
- if (result == null) result = caseSvgElement(svgTextElement);
- if (result == null) result = caseGraphicsElement(svgTextElement);
- if (result == null) result = caseTextContentElement(svgTextElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgTextElement);
- if (result == null) result = caseCoreAttributes(svgTextElement);
- if (result == null) result = caseGraphicalEventAttributes(svgTextElement);
- if (result == null) result = casePresentationAttributes(svgTextElement);
- if (result == null) result = caseContentElement(svgTextElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_TSPAN_ELEMENT: {
- SvgTspanElement svgTspanElement = (SvgTspanElement)theEObject;
- T1 result = caseSvgTspanElement(svgTspanElement);
- if (result == null) result = caseSvgElement(svgTspanElement);
- if (result == null) result = caseTextContentElement(svgTspanElement);
- if (result == null) result = caseTextContentChildElement(svgTspanElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgTspanElement);
- if (result == null) result = caseCoreAttributes(svgTspanElement);
- if (result == null) result = caseGraphicalEventAttributes(svgTspanElement);
- if (result == null) result = casePresentationAttributes(svgTspanElement);
- if (result == null) result = caseContentElement(svgTspanElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_TREF_ELEMENT: {
- SvgTrefElement svgTrefElement = (SvgTrefElement)theEObject;
- T1 result = caseSvgTrefElement(svgTrefElement);
- if (result == null) result = caseSvgElement(svgTrefElement);
- if (result == null) result = caseTextContentElement(svgTrefElement);
- if (result == null) result = caseTextContentChildElement(svgTrefElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgTrefElement);
- if (result == null) result = caseCoreAttributes(svgTrefElement);
- if (result == null) result = caseGraphicalEventAttributes(svgTrefElement);
- if (result == null) result = casePresentationAttributes(svgTrefElement);
- if (result == null) result = caseXLinkAttributes(svgTrefElement);
- if (result == null) result = caseContentElement(svgTrefElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_TEXT_PATH_ELEMENT: {
- SvgTextPathElement svgTextPathElement = (SvgTextPathElement)theEObject;
- T1 result = caseSvgTextPathElement(svgTextPathElement);
- if (result == null) result = caseSvgElement(svgTextPathElement);
- if (result == null) result = caseTextContentElement(svgTextPathElement);
- if (result == null) result = caseTextContentChildElement(svgTextPathElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgTextPathElement);
- if (result == null) result = caseCoreAttributes(svgTextPathElement);
- if (result == null) result = caseGraphicalEventAttributes(svgTextPathElement);
- if (result == null) result = casePresentationAttributes(svgTextPathElement);
- if (result == null) result = caseXLinkAttributes(svgTextPathElement);
- if (result == null) result = caseContentElement(svgTextPathElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ALT_GLYPH_ELEMENT: {
- SvgAltGlyphElement svgAltGlyphElement = (SvgAltGlyphElement)theEObject;
- T1 result = caseSvgAltGlyphElement(svgAltGlyphElement);
- if (result == null) result = caseSvgElement(svgAltGlyphElement);
- if (result == null) result = caseTextContentElement(svgAltGlyphElement);
- if (result == null) result = caseTextContentChildElement(svgAltGlyphElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgAltGlyphElement);
- if (result == null) result = caseCoreAttributes(svgAltGlyphElement);
- if (result == null) result = caseGraphicalEventAttributes(svgAltGlyphElement);
- if (result == null) result = casePresentationAttributes(svgAltGlyphElement);
- if (result == null) result = caseXLinkAttributes(svgAltGlyphElement);
- if (result == null) result = caseContentElement(svgAltGlyphElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ALT_GLYPH_DEF_ELEMENT: {
- SvgAltGlyphDefElement svgAltGlyphDefElement = (SvgAltGlyphDefElement)theEObject;
- T1 result = caseSvgAltGlyphDefElement(svgAltGlyphDefElement);
- if (result == null) result = caseSvgElement(svgAltGlyphDefElement);
- if (result == null) result = caseCoreAttributes(svgAltGlyphDefElement);
- if (result == null) result = caseContentElement(svgAltGlyphDefElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ALT_GLYPH_ITEM_ELEMENT: {
- SvgAltGlyphItemElement svgAltGlyphItemElement = (SvgAltGlyphItemElement)theEObject;
- T1 result = caseSvgAltGlyphItemElement(svgAltGlyphItemElement);
- if (result == null) result = caseSvgElement(svgAltGlyphItemElement);
- if (result == null) result = caseCoreAttributes(svgAltGlyphItemElement);
- if (result == null) result = caseContentElement(svgAltGlyphItemElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ALT_GLYPH_REF_ELEMENT: {
- SvgAltGlyphRefElement svgAltGlyphRefElement = (SvgAltGlyphRefElement)theEObject;
- T1 result = caseSvgAltGlyphRefElement(svgAltGlyphRefElement);
- if (result == null) result = caseSvgElement(svgAltGlyphRefElement);
- if (result == null) result = caseCoreAttributes(svgAltGlyphRefElement);
- if (result == null) result = casePresentationAttributes(svgAltGlyphRefElement);
- if (result == null) result = caseXLinkAttributes(svgAltGlyphRefElement);
- if (result == null) result = caseContentElement(svgAltGlyphRefElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_MARKER_ELEMENT: {
- SvgMarkerElement svgMarkerElement = (SvgMarkerElement)theEObject;
- T1 result = caseSvgMarkerElement(svgMarkerElement);
- if (result == null) result = caseSvgElement(svgMarkerElement);
- if (result == null) result = caseCoreAttributes(svgMarkerElement);
- if (result == null) result = casePresentationAttributes(svgMarkerElement);
- if (result == null) result = caseContentElement(svgMarkerElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_COLOR_PROFILE_ELEMENT: {
- SvgColorProfileElement svgColorProfileElement = (SvgColorProfileElement)theEObject;
- T1 result = caseSvgColorProfileElement(svgColorProfileElement);
- if (result == null) result = caseSvgElement(svgColorProfileElement);
- if (result == null) result = caseCoreAttributes(svgColorProfileElement);
- if (result == null) result = casePresentationAttributes(svgColorProfileElement);
- if (result == null) result = caseXLinkAttributes(svgColorProfileElement);
- if (result == null) result = caseContentElement(svgColorProfileElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_LINEAR_GRADIENT_ELEMENT: {
- SvgLinearGradientElement svgLinearGradientElement = (SvgLinearGradientElement)theEObject;
- T1 result = caseSvgLinearGradientElement(svgLinearGradientElement);
- if (result == null) result = caseSvgElement(svgLinearGradientElement);
- if (result == null) result = caseGradientElement(svgLinearGradientElement);
- if (result == null) result = caseCoreAttributes(svgLinearGradientElement);
- if (result == null) result = casePresentationAttributes(svgLinearGradientElement);
- if (result == null) result = caseXLinkAttributes(svgLinearGradientElement);
- if (result == null) result = caseContentElement(svgLinearGradientElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_RADIAL_GRADIENT_ELEMENT: {
- SvgRadialGradientElement svgRadialGradientElement = (SvgRadialGradientElement)theEObject;
- T1 result = caseSvgRadialGradientElement(svgRadialGradientElement);
- if (result == null) result = caseSvgElement(svgRadialGradientElement);
- if (result == null) result = caseGradientElement(svgRadialGradientElement);
- if (result == null) result = caseCoreAttributes(svgRadialGradientElement);
- if (result == null) result = casePresentationAttributes(svgRadialGradientElement);
- if (result == null) result = caseXLinkAttributes(svgRadialGradientElement);
- if (result == null) result = caseContentElement(svgRadialGradientElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_STOP_ELEMENT: {
- SvgStopElement svgStopElement = (SvgStopElement)theEObject;
- T1 result = caseSvgStopElement(svgStopElement);
- if (result == null) result = caseSvgElement(svgStopElement);
- if (result == null) result = caseCoreAttributes(svgStopElement);
- if (result == null) result = casePresentationAttributes(svgStopElement);
- if (result == null) result = caseContentElement(svgStopElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_PATTERN_ELEMENT: {
- SvgPatternElement svgPatternElement = (SvgPatternElement)theEObject;
- T1 result = caseSvgPatternElement(svgPatternElement);
- if (result == null) result = caseSvgElement(svgPatternElement);
- if (result == null) result = caseContainerElement(svgPatternElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgPatternElement);
- if (result == null) result = caseCoreAttributes(svgPatternElement);
- if (result == null) result = casePresentationAttributes(svgPatternElement);
- if (result == null) result = caseXLinkAttributes(svgPatternElement);
- if (result == null) result = caseContentElement(svgPatternElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_CLIP_PATH_ELEMENT: {
- SvgClipPathElement svgClipPathElement = (SvgClipPathElement)theEObject;
- T1 result = caseSvgClipPathElement(svgClipPathElement);
- if (result == null) result = caseSvgElement(svgClipPathElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgClipPathElement);
- if (result == null) result = caseCoreAttributes(svgClipPathElement);
- if (result == null) result = casePresentationAttributes(svgClipPathElement);
- if (result == null) result = caseContentElement(svgClipPathElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_MASK_ELEMENT: {
- SvgMaskElement svgMaskElement = (SvgMaskElement)theEObject;
- T1 result = caseSvgMaskElement(svgMaskElement);
- if (result == null) result = caseSvgElement(svgMaskElement);
- if (result == null) result = caseConditionalProcessingAttributes(svgMaskElement);
- if (result == null) result = caseCoreAttributes(svgMaskElement);
- if (result == null) result = casePresentationAttributes(svgMaskElement);
- if (result == null) result = caseContentElement(svgMaskElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FILTER_ELEMENT: {
- SvgFilterElement svgFilterElement = (SvgFilterElement)theEObject;
- T1 result = caseSvgFilterElement(svgFilterElement);
- if (result == null) result = caseSvgElement(svgFilterElement);
- if (result == null) result = caseCoreAttributes(svgFilterElement);
- if (result == null) result = casePresentationAttributes(svgFilterElement);
- if (result == null) result = caseXLinkAttributes(svgFilterElement);
- if (result == null) result = caseContentElement(svgFilterElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_DISTANT_LIGHT_ELEMENT: {
- SvgFeDistantLightElement svgFeDistantLightElement = (SvgFeDistantLightElement)theEObject;
- T1 result = caseSvgFeDistantLightElement(svgFeDistantLightElement);
- if (result == null) result = caseSvgElement(svgFeDistantLightElement);
- if (result == null) result = caseCoreAttributes(svgFeDistantLightElement);
- if (result == null) result = caseContentElement(svgFeDistantLightElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_POINT_LIGHT_ELEMENT: {
- SvgFePointLightElement svgFePointLightElement = (SvgFePointLightElement)theEObject;
- T1 result = caseSvgFePointLightElement(svgFePointLightElement);
- if (result == null) result = caseSvgElement(svgFePointLightElement);
- if (result == null) result = caseCoreAttributes(svgFePointLightElement);
- if (result == null) result = caseLightSourceElement(svgFePointLightElement);
- if (result == null) result = caseContentElement(svgFePointLightElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_SPOT_LIGHT_ELEMENT: {
- SvgFeSpotLightElement svgFeSpotLightElement = (SvgFeSpotLightElement)theEObject;
- T1 result = caseSvgFeSpotLightElement(svgFeSpotLightElement);
- if (result == null) result = caseSvgElement(svgFeSpotLightElement);
- if (result == null) result = caseCoreAttributes(svgFeSpotLightElement);
- if (result == null) result = caseLightSourceElement(svgFeSpotLightElement);
- if (result == null) result = caseContentElement(svgFeSpotLightElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_BLEND_ELEMENT: {
- SvgFeBlendElement svgFeBlendElement = (SvgFeBlendElement)theEObject;
- T1 result = caseSvgFeBlendElement(svgFeBlendElement);
- if (result == null) result = caseSvgElement(svgFeBlendElement);
- if (result == null) result = caseCoreAttributes(svgFeBlendElement);
- if (result == null) result = casePresentationAttributes(svgFeBlendElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeBlendElement);
- if (result == null) result = caseContentElement(svgFeBlendElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_COLOR_MATRIX_ELEMENT: {
- SvgFeColorMatrixElement svgFeColorMatrixElement = (SvgFeColorMatrixElement)theEObject;
- T1 result = caseSvgFeColorMatrixElement(svgFeColorMatrixElement);
- if (result == null) result = caseSvgElement(svgFeColorMatrixElement);
- if (result == null) result = caseCoreAttributes(svgFeColorMatrixElement);
- if (result == null) result = casePresentationAttributes(svgFeColorMatrixElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeColorMatrixElement);
- if (result == null) result = caseContentElement(svgFeColorMatrixElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_COMPONENT_TRANSFER_ELEMENT: {
- SvgFeComponentTransferElement svgFeComponentTransferElement = (SvgFeComponentTransferElement)theEObject;
- T1 result = caseSvgFeComponentTransferElement(svgFeComponentTransferElement);
- if (result == null) result = caseSvgElement(svgFeComponentTransferElement);
- if (result == null) result = caseCoreAttributes(svgFeComponentTransferElement);
- if (result == null) result = casePresentationAttributes(svgFeComponentTransferElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeComponentTransferElement);
- if (result == null) result = caseContentElement(svgFeComponentTransferElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_FUNC_RELEMENT: {
- SvgFeFuncRElement svgFeFuncRElement = (SvgFeFuncRElement)theEObject;
- T1 result = caseSvgFeFuncRElement(svgFeFuncRElement);
- if (result == null) result = caseSvgElement(svgFeFuncRElement);
- if (result == null) result = caseCoreAttributes(svgFeFuncRElement);
- if (result == null) result = casePresentationAttributes(svgFeFuncRElement);
- if (result == null) result = caseContentElement(svgFeFuncRElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_FUNC_GELEMENT: {
- SvgFeFuncGElement svgFeFuncGElement = (SvgFeFuncGElement)theEObject;
- T1 result = caseSvgFeFuncGElement(svgFeFuncGElement);
- if (result == null) result = caseSvgElement(svgFeFuncGElement);
- if (result == null) result = caseCoreAttributes(svgFeFuncGElement);
- if (result == null) result = casePresentationAttributes(svgFeFuncGElement);
- if (result == null) result = caseContentElement(svgFeFuncGElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_FUNC_BELEMENT: {
- SvgFeFuncBElement svgFeFuncBElement = (SvgFeFuncBElement)theEObject;
- T1 result = caseSvgFeFuncBElement(svgFeFuncBElement);
- if (result == null) result = caseSvgElement(svgFeFuncBElement);
- if (result == null) result = caseCoreAttributes(svgFeFuncBElement);
- if (result == null) result = casePresentationAttributes(svgFeFuncBElement);
- if (result == null) result = caseContentElement(svgFeFuncBElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_FUNC_AELEMENT: {
- SvgFeFuncAElement svgFeFuncAElement = (SvgFeFuncAElement)theEObject;
- T1 result = caseSvgFeFuncAElement(svgFeFuncAElement);
- if (result == null) result = caseSvgElement(svgFeFuncAElement);
- if (result == null) result = caseCoreAttributes(svgFeFuncAElement);
- if (result == null) result = casePresentationAttributes(svgFeFuncAElement);
- if (result == null) result = caseContentElement(svgFeFuncAElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_COMPOSITE_ELEMENT: {
- SvgFeCompositeElement svgFeCompositeElement = (SvgFeCompositeElement)theEObject;
- T1 result = caseSvgFeCompositeElement(svgFeCompositeElement);
- if (result == null) result = caseSvgElement(svgFeCompositeElement);
- if (result == null) result = caseCoreAttributes(svgFeCompositeElement);
- if (result == null) result = casePresentationAttributes(svgFeCompositeElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeCompositeElement);
- if (result == null) result = caseContentElement(svgFeCompositeElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_CONVOLVE_MATRIX_ELEMENT: {
- SvgFeConvolveMatrixElement svgFeConvolveMatrixElement = (SvgFeConvolveMatrixElement)theEObject;
- T1 result = caseSvgFeConvolveMatrixElement(svgFeConvolveMatrixElement);
- if (result == null) result = caseSvgElement(svgFeConvolveMatrixElement);
- if (result == null) result = caseCoreAttributes(svgFeConvolveMatrixElement);
- if (result == null) result = casePresentationAttributes(svgFeConvolveMatrixElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeConvolveMatrixElement);
- if (result == null) result = caseContentElement(svgFeConvolveMatrixElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_DIFFUSE_LIGHTING_ELEMENT: {
- SvgFeDiffuseLightingElement svgFeDiffuseLightingElement = (SvgFeDiffuseLightingElement)theEObject;
- T1 result = caseSvgFeDiffuseLightingElement(svgFeDiffuseLightingElement);
- if (result == null) result = caseSvgElement(svgFeDiffuseLightingElement);
- if (result == null) result = caseCoreAttributes(svgFeDiffuseLightingElement);
- if (result == null) result = casePresentationAttributes(svgFeDiffuseLightingElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeDiffuseLightingElement);
- if (result == null) result = caseContentElement(svgFeDiffuseLightingElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_DISPLACEMENT_MAP_ELEMENT: {
- SvgFeDisplacementMapElement svgFeDisplacementMapElement = (SvgFeDisplacementMapElement)theEObject;
- T1 result = caseSvgFeDisplacementMapElement(svgFeDisplacementMapElement);
- if (result == null) result = caseSvgElement(svgFeDisplacementMapElement);
- if (result == null) result = caseCoreAttributes(svgFeDisplacementMapElement);
- if (result == null) result = casePresentationAttributes(svgFeDisplacementMapElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeDisplacementMapElement);
- if (result == null) result = caseContentElement(svgFeDisplacementMapElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_FLOOD_ELEMENT: {
- SvgFeFloodElement svgFeFloodElement = (SvgFeFloodElement)theEObject;
- T1 result = caseSvgFeFloodElement(svgFeFloodElement);
- if (result == null) result = caseSvgElement(svgFeFloodElement);
- if (result == null) result = caseCoreAttributes(svgFeFloodElement);
- if (result == null) result = casePresentationAttributes(svgFeFloodElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeFloodElement);
- if (result == null) result = caseContentElement(svgFeFloodElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_GAUSSIAN_BLUR_ELEMENT: {
- SvgFeGaussianBlurElement svgFeGaussianBlurElement = (SvgFeGaussianBlurElement)theEObject;
- T1 result = caseSvgFeGaussianBlurElement(svgFeGaussianBlurElement);
- if (result == null) result = caseSvgElement(svgFeGaussianBlurElement);
- if (result == null) result = caseCoreAttributes(svgFeGaussianBlurElement);
- if (result == null) result = casePresentationAttributes(svgFeGaussianBlurElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeGaussianBlurElement);
- if (result == null) result = caseContentElement(svgFeGaussianBlurElement);
- if (result == null) result = caseFilterPrimitiveElement(svgFeGaussianBlurElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_IMAGE_ELEMENT: {
- SvgFeImageElement svgFeImageElement = (SvgFeImageElement)theEObject;
- T1 result = caseSvgFeImageElement(svgFeImageElement);
- if (result == null) result = caseSvgElement(svgFeImageElement);
- if (result == null) result = caseCoreAttributes(svgFeImageElement);
- if (result == null) result = casePresentationAttributes(svgFeImageElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeImageElement);
- if (result == null) result = caseXLinkAttributes(svgFeImageElement);
- if (result == null) result = caseContentElement(svgFeImageElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_MERGE_ELEMENT: {
- SvgFeMergeElement svgFeMergeElement = (SvgFeMergeElement)theEObject;
- T1 result = caseSvgFeMergeElement(svgFeMergeElement);
- if (result == null) result = caseSvgElement(svgFeMergeElement);
- if (result == null) result = caseCoreAttributes(svgFeMergeElement);
- if (result == null) result = casePresentationAttributes(svgFeMergeElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeMergeElement);
- if (result == null) result = caseContentElement(svgFeMergeElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_MERGE_NODE_ELEMENT: {
- SvgFeMergeNodeElement svgFeMergeNodeElement = (SvgFeMergeNodeElement)theEObject;
- T1 result = caseSvgFeMergeNodeElement(svgFeMergeNodeElement);
- if (result == null) result = caseSvgElement(svgFeMergeNodeElement);
- if (result == null) result = caseCoreAttributes(svgFeMergeNodeElement);
- if (result == null) result = caseContentElement(svgFeMergeNodeElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_MORPHOLOGY_ELEMENT: {
- SvgFeMorphologyElement svgFeMorphologyElement = (SvgFeMorphologyElement)theEObject;
- T1 result = caseSvgFeMorphologyElement(svgFeMorphologyElement);
- if (result == null) result = caseSvgElement(svgFeMorphologyElement);
- if (result == null) result = caseCoreAttributes(svgFeMorphologyElement);
- if (result == null) result = casePresentationAttributes(svgFeMorphologyElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeMorphologyElement);
- if (result == null) result = caseContentElement(svgFeMorphologyElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_OFFSET_ELEMENT: {
- SvgFeOffsetElement svgFeOffsetElement = (SvgFeOffsetElement)theEObject;
- T1 result = caseSvgFeOffsetElement(svgFeOffsetElement);
- if (result == null) result = caseSvgElement(svgFeOffsetElement);
- if (result == null) result = caseCoreAttributes(svgFeOffsetElement);
- if (result == null) result = casePresentationAttributes(svgFeOffsetElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeOffsetElement);
- if (result == null) result = caseContentElement(svgFeOffsetElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_SPECULAR_LIGHTING_ELEMENT: {
- SvgFeSpecularLightingElement svgFeSpecularLightingElement = (SvgFeSpecularLightingElement)theEObject;
- T1 result = caseSvgFeSpecularLightingElement(svgFeSpecularLightingElement);
- if (result == null) result = caseSvgElement(svgFeSpecularLightingElement);
- if (result == null) result = caseCoreAttributes(svgFeSpecularLightingElement);
- if (result == null) result = casePresentationAttributes(svgFeSpecularLightingElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeSpecularLightingElement);
- if (result == null) result = caseContentElement(svgFeSpecularLightingElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_TILE_ELEMENT: {
- SvgFeTileElement svgFeTileElement = (SvgFeTileElement)theEObject;
- T1 result = caseSvgFeTileElement(svgFeTileElement);
- if (result == null) result = caseSvgElement(svgFeTileElement);
- if (result == null) result = caseCoreAttributes(svgFeTileElement);
- if (result == null) result = casePresentationAttributes(svgFeTileElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeTileElement);
- if (result == null) result = caseContentElement(svgFeTileElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_FE_TURBULENCE_ELEMENT: {
- SvgFeTurbulenceElement svgFeTurbulenceElement = (SvgFeTurbulenceElement)theEObject;
- T1 result = caseSvgFeTurbulenceElement(svgFeTurbulenceElement);
- if (result == null) result = caseSvgElement(svgFeTurbulenceElement);
- if (result == null) result = caseCoreAttributes(svgFeTurbulenceElement);
- if (result == null) result = casePresentationAttributes(svgFeTurbulenceElement);
- if (result == null) result = caseFilterPrimitiveAttributes(svgFeTurbulenceElement);
- if (result == null) result = caseContentElement(svgFeTurbulenceElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_ANIMATE_ELEMENT: {
- SvgAnimateElement svgAnimateElement = (SvgAnimateElement)theEObject;
- T1 result = caseSvgAnimateElement(svgAnimateElement);
- if (result == null) result = caseSvgElement(svgAnimateElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case SvgPackage.SVG_METADATA_ELEMENT: {
- SvgMetadataElement svgMetadataElement = (SvgMetadataElement)theEObject;
- T1 result = caseSvgMetadataElement(svgMetadataElement);
- if (result == null) result = caseSvgElement(svgMetadataElement);
- if (result == null) result = caseCoreAttributes(svgMetadataElement);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Content Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Content Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public <T extends SvgElement> T1 caseContentElement(ContentElement<T> object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Container Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Container Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public <T extends SvgElement> T1 caseContainerElement(ContainerElement<T> object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Structural Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Structural Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseStructuralElement(StructuralElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgElement(SvgElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Descriptive Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Descriptive Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseDescriptiveElement(DescriptiveElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Graphics Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Graphics Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseGraphicsElement(GraphicsElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Graphics Referencing Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Graphics Referencing Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseGraphicsReferencingElement(GraphicsReferencingElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Shape Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Shape Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseShapeElement(ShapeElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Basic Shape Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Basic Shape Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseBasicShapeElement(BasicShapeElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Text Content Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Text Content Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseTextContentElement(TextContentElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Text Content Child Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Text Content Child Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseTextContentChildElement(TextContentChildElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Gradient Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Gradient Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseGradientElement(GradientElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Light Source Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Light Source Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseLightSourceElement(LightSourceElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Filter Primitive Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Filter Primitive Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseFilterPrimitiveElement(FilterPrimitiveElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Animation Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Animation Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseAnimationElement(AnimationElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>ENUMS </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>ENUMS </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 case____ENUMS____(____ENUMS____ object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>DATATYPES </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>DATATYPES </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 case____DATATYPES____(____DATATYPES____ object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>ATTRIBUTES </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>ATTRIBUTES </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 case____ATTRIBUTES____(____ATTRIBUTES____ object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Conditional Processing Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Conditional Processing Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseConditionalProcessingAttributes(ConditionalProcessingAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Core Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Core Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseCoreAttributes(CoreAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Document Event Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Document Event Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseDocumentEventAttributes(DocumentEventAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Graphical Event Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Graphical Event Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseGraphicalEventAttributes(GraphicalEventAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Presentation Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Presentation Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 casePresentationAttributes(PresentationAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>XLink Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>XLink Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseXLinkAttributes(XLinkAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Filter Primitive Attributes</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Filter Primitive Attributes</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseFilterPrimitiveAttributes(FilterPrimitiveAttributes object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>ELEMENTES </em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>ELEMENTES </em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 case____ELEMENTES____(____ELEMENTES____ object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Svg Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Svg Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgSvgElement(SvgSvgElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>GElement</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>GElement</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgGElement(SvgGElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Defs Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Defs Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgDefsElement(SvgDefsElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Desc Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Desc Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgDescElement(SvgDescElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Title Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Title Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgTitleElement(SvgTitleElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Symbol Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Symbol Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgSymbolElement(SvgSymbolElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Use Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Use Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgUseElement(SvgUseElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Image Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Image Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgImageElement(SvgImageElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Switch Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Switch Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgSwitchElement(SvgSwitchElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Path Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Path Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgPathElement(SvgPathElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Rect Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Rect Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgRectElement(SvgRectElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Circle Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Circle Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgCircleElement(SvgCircleElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Ellipse Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Ellipse Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgEllipseElement(SvgEllipseElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Line Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Line Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgLineElement(SvgLineElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Polyline Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Polyline Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgPolylineElement(SvgPolylineElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Polygon Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Polygon Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgPolygonElement(SvgPolygonElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Text Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Text Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgTextElement(SvgTextElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tspan Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tspan Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgTspanElement(SvgTspanElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Tref Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Tref Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgTrefElement(SvgTrefElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Text Path Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Text Path Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgTextPathElement(SvgTextPathElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Alt Glyph Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgAltGlyphElement(SvgAltGlyphElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Def Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Alt Glyph Def Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgAltGlyphDefElement(SvgAltGlyphDefElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Item Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Alt Glyph Item Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgAltGlyphItemElement(SvgAltGlyphItemElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Ref Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Alt Glyph Ref Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgAltGlyphRefElement(SvgAltGlyphRefElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Marker Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Marker Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgMarkerElement(SvgMarkerElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Color Profile Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Color Profile Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgColorProfileElement(SvgColorProfileElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Linear Gradient Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Linear Gradient Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgLinearGradientElement(SvgLinearGradientElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Radial Gradient Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Radial Gradient Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgRadialGradientElement(SvgRadialGradientElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Stop Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Stop Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgStopElement(SvgStopElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Pattern Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Pattern Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgPatternElement(SvgPatternElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Clip Path Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Clip Path Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgClipPathElement(SvgClipPathElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Mask Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Mask Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgMaskElement(SvgMaskElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Filter Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Filter Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFilterElement(SvgFilterElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Distant Light Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Distant Light Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeDistantLightElement(SvgFeDistantLightElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Point Light Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Point Light Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFePointLightElement(SvgFePointLightElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Spot Light Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Spot Light Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeSpotLightElement(SvgFeSpotLightElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Blend Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Blend Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeBlendElement(SvgFeBlendElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Color Matrix Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Color Matrix Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeColorMatrixElement(SvgFeColorMatrixElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Component Transfer Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Component Transfer Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeComponentTransferElement(SvgFeComponentTransferElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Func RElement</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Func RElement</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeFuncRElement(SvgFeFuncRElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Func GElement</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Func GElement</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeFuncGElement(SvgFeFuncGElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Func BElement</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Func BElement</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeFuncBElement(SvgFeFuncBElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Func AElement</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Func AElement</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeFuncAElement(SvgFeFuncAElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Composite Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Composite Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeCompositeElement(SvgFeCompositeElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Convolve Matrix Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Convolve Matrix Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeConvolveMatrixElement(SvgFeConvolveMatrixElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Diffuse Lighting Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Diffuse Lighting Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeDiffuseLightingElement(SvgFeDiffuseLightingElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Displacement Map Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Displacement Map Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeDisplacementMapElement(SvgFeDisplacementMapElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Flood Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Flood Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeFloodElement(SvgFeFloodElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Gaussian Blur Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Gaussian Blur Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeGaussianBlurElement(SvgFeGaussianBlurElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Image Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Image Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeImageElement(SvgFeImageElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Merge Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Merge Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeMergeElement(SvgFeMergeElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Merge Node Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Merge Node Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeMergeNodeElement(SvgFeMergeNodeElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Morphology Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Morphology Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeMorphologyElement(SvgFeMorphologyElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Offset Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Offset Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeOffsetElement(SvgFeOffsetElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Specular Lighting Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Specular Lighting Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeSpecularLightingElement(SvgFeSpecularLightingElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Tile Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Tile Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeTileElement(SvgFeTileElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Fe Turbulence Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Fe Turbulence Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgFeTurbulenceElement(SvgFeTurbulenceElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Animate Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Animate Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgAnimateElement(SvgAnimateElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Metadata Element</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Metadata Element</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T1 caseSvgMetadataElement(SvgMetadataElement object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- @Override
- public T1 defaultCase(EObject object) {
- return null;
- }
-
-} //SvgSwitch
+/**
+ */
+package org.eclipse.fx.formats.svg.svg.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.fx.formats.svg.svg.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.fx.formats.svg.svg.SvgPackage
+ * @generated
+ */
+public class SvgSwitch<T1> extends Switch<T1> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SvgPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SvgSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SvgPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T1 doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SvgPackage.CONTENT_ELEMENT: {
+ ContentElement<?> contentElement = (ContentElement<?>)theEObject;
+ T1 result = caseContentElement(contentElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.CONTAINER_ELEMENT: {
+ ContainerElement<?> containerElement = (ContainerElement<?>)theEObject;
+ T1 result = caseContainerElement(containerElement);
+ if (result == null) result = caseContentElement(containerElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.STRUCTURAL_ELEMENT: {
+ StructuralElement structuralElement = (StructuralElement)theEObject;
+ T1 result = caseStructuralElement(structuralElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ELEMENT: {
+ SvgElement svgElement = (SvgElement)theEObject;
+ T1 result = caseSvgElement(svgElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.DESCRIPTIVE_ELEMENT: {
+ DescriptiveElement descriptiveElement = (DescriptiveElement)theEObject;
+ T1 result = caseDescriptiveElement(descriptiveElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.GRAPHICS_ELEMENT: {
+ GraphicsElement graphicsElement = (GraphicsElement)theEObject;
+ T1 result = caseGraphicsElement(graphicsElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.GRAPHICS_REFERENCING_ELEMENT: {
+ GraphicsReferencingElement graphicsReferencingElement = (GraphicsReferencingElement)theEObject;
+ T1 result = caseGraphicsReferencingElement(graphicsReferencingElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SHAPE_ELEMENT: {
+ ShapeElement shapeElement = (ShapeElement)theEObject;
+ T1 result = caseShapeElement(shapeElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.BASIC_SHAPE_ELEMENT: {
+ BasicShapeElement basicShapeElement = (BasicShapeElement)theEObject;
+ T1 result = caseBasicShapeElement(basicShapeElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.TEXT_CONTENT_ELEMENT: {
+ TextContentElement textContentElement = (TextContentElement)theEObject;
+ T1 result = caseTextContentElement(textContentElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.TEXT_CONTENT_CHILD_ELEMENT: {
+ TextContentChildElement textContentChildElement = (TextContentChildElement)theEObject;
+ T1 result = caseTextContentChildElement(textContentChildElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.GRADIENT_ELEMENT: {
+ GradientElement gradientElement = (GradientElement)theEObject;
+ T1 result = caseGradientElement(gradientElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.LIGHT_SOURCE_ELEMENT: {
+ LightSourceElement lightSourceElement = (LightSourceElement)theEObject;
+ T1 result = caseLightSourceElement(lightSourceElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.FILTER_PRIMITIVE_ELEMENT: {
+ FilterPrimitiveElement filterPrimitiveElement = (FilterPrimitiveElement)theEObject;
+ T1 result = caseFilterPrimitiveElement(filterPrimitiveElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.ANIMATION_ELEMENT: {
+ AnimationElement animationElement = (AnimationElement)theEObject;
+ T1 result = caseAnimationElement(animationElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage._ENUMS_: {
+ ____ENUMS____ ____ENUMS____ = (____ENUMS____)theEObject;
+ T1 result = case____ENUMS____(____ENUMS____);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage._DATATYPES_: {
+ ____DATATYPES____ ____DATATYPES____ = (____DATATYPES____)theEObject;
+ T1 result = case____DATATYPES____(____DATATYPES____);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage._ATTRIBUTES_: {
+ ____ATTRIBUTES____ ____ATTRIBUTES____ = (____ATTRIBUTES____)theEObject;
+ T1 result = case____ATTRIBUTES____(____ATTRIBUTES____);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.CONDITIONAL_PROCESSING_ATTRIBUTES: {
+ ConditionalProcessingAttributes conditionalProcessingAttributes = (ConditionalProcessingAttributes)theEObject;
+ T1 result = caseConditionalProcessingAttributes(conditionalProcessingAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.CORE_ATTRIBUTES: {
+ CoreAttributes coreAttributes = (CoreAttributes)theEObject;
+ T1 result = caseCoreAttributes(coreAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.DOCUMENT_EVENT_ATTRIBUTES: {
+ DocumentEventAttributes documentEventAttributes = (DocumentEventAttributes)theEObject;
+ T1 result = caseDocumentEventAttributes(documentEventAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.GRAPHICAL_EVENT_ATTRIBUTES: {
+ GraphicalEventAttributes graphicalEventAttributes = (GraphicalEventAttributes)theEObject;
+ T1 result = caseGraphicalEventAttributes(graphicalEventAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.PRESENTATION_ATTRIBUTES: {
+ PresentationAttributes presentationAttributes = (PresentationAttributes)theEObject;
+ T1 result = casePresentationAttributes(presentationAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.XLINK_ATTRIBUTES: {
+ XLinkAttributes xLinkAttributes = (XLinkAttributes)theEObject;
+ T1 result = caseXLinkAttributes(xLinkAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.FILTER_PRIMITIVE_ATTRIBUTES: {
+ FilterPrimitiveAttributes filterPrimitiveAttributes = (FilterPrimitiveAttributes)theEObject;
+ T1 result = caseFilterPrimitiveAttributes(filterPrimitiveAttributes);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage._ELEMENTES_: {
+ ____ELEMENTES____ ____ELEMENTES____ = (____ELEMENTES____)theEObject;
+ T1 result = case____ELEMENTES____(____ELEMENTES____);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_SVG_ELEMENT: {
+ SvgSvgElement svgSvgElement = (SvgSvgElement)theEObject;
+ T1 result = caseSvgSvgElement(svgSvgElement);
+ if (result == null) result = caseSvgElement(svgSvgElement);
+ if (result == null) result = caseContainerElement(svgSvgElement);
+ if (result == null) result = caseStructuralElement(svgSvgElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgSvgElement);
+ if (result == null) result = caseCoreAttributes(svgSvgElement);
+ if (result == null) result = caseDocumentEventAttributes(svgSvgElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgSvgElement);
+ if (result == null) result = casePresentationAttributes(svgSvgElement);
+ if (result == null) result = caseContentElement(svgSvgElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_GELEMENT: {
+ SvgGElement svgGElement = (SvgGElement)theEObject;
+ T1 result = caseSvgGElement(svgGElement);
+ if (result == null) result = caseSvgElement(svgGElement);
+ if (result == null) result = caseContainerElement(svgGElement);
+ if (result == null) result = caseStructuralElement(svgGElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgGElement);
+ if (result == null) result = caseCoreAttributes(svgGElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgGElement);
+ if (result == null) result = casePresentationAttributes(svgGElement);
+ if (result == null) result = caseContentElement(svgGElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_DEFS_ELEMENT: {
+ SvgDefsElement svgDefsElement = (SvgDefsElement)theEObject;
+ T1 result = caseSvgDefsElement(svgDefsElement);
+ if (result == null) result = caseSvgElement(svgDefsElement);
+ if (result == null) result = caseContainerElement(svgDefsElement);
+ if (result == null) result = caseStructuralElement(svgDefsElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgDefsElement);
+ if (result == null) result = caseCoreAttributes(svgDefsElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgDefsElement);
+ if (result == null) result = casePresentationAttributes(svgDefsElement);
+ if (result == null) result = caseContentElement(svgDefsElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_DESC_ELEMENT: {
+ SvgDescElement svgDescElement = (SvgDescElement)theEObject;
+ T1 result = caseSvgDescElement(svgDescElement);
+ if (result == null) result = caseSvgElement(svgDescElement);
+ if (result == null) result = caseDescriptiveElement(svgDescElement);
+ if (result == null) result = caseCoreAttributes(svgDescElement);
+ if (result == null) result = caseContentElement(svgDescElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_TITLE_ELEMENT: {
+ SvgTitleElement svgTitleElement = (SvgTitleElement)theEObject;
+ T1 result = caseSvgTitleElement(svgTitleElement);
+ if (result == null) result = caseSvgElement(svgTitleElement);
+ if (result == null) result = caseDescriptiveElement(svgTitleElement);
+ if (result == null) result = caseCoreAttributes(svgTitleElement);
+ if (result == null) result = caseContentElement(svgTitleElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_SYMBOL_ELEMENT: {
+ SvgSymbolElement svgSymbolElement = (SvgSymbolElement)theEObject;
+ T1 result = caseSvgSymbolElement(svgSymbolElement);
+ if (result == null) result = caseSvgElement(svgSymbolElement);
+ if (result == null) result = caseContainerElement(svgSymbolElement);
+ if (result == null) result = caseStructuralElement(svgSymbolElement);
+ if (result == null) result = caseCoreAttributes(svgSymbolElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgSymbolElement);
+ if (result == null) result = casePresentationAttributes(svgSymbolElement);
+ if (result == null) result = caseContentElement(svgSymbolElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_USE_ELEMENT: {
+ SvgUseElement svgUseElement = (SvgUseElement)theEObject;
+ T1 result = caseSvgUseElement(svgUseElement);
+ if (result == null) result = caseSvgElement(svgUseElement);
+ if (result == null) result = caseGraphicsElement(svgUseElement);
+ if (result == null) result = caseGraphicsReferencingElement(svgUseElement);
+ if (result == null) result = caseStructuralElement(svgUseElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgUseElement);
+ if (result == null) result = caseCoreAttributes(svgUseElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgUseElement);
+ if (result == null) result = casePresentationAttributes(svgUseElement);
+ if (result == null) result = caseXLinkAttributes(svgUseElement);
+ if (result == null) result = caseContentElement(svgUseElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_IMAGE_ELEMENT: {
+ SvgImageElement svgImageElement = (SvgImageElement)theEObject;
+ T1 result = caseSvgImageElement(svgImageElement);
+ if (result == null) result = caseSvgElement(svgImageElement);
+ if (result == null) result = caseGraphicsElement(svgImageElement);
+ if (result == null) result = caseGraphicsReferencingElement(svgImageElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgImageElement);
+ if (result == null) result = caseCoreAttributes(svgImageElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgImageElement);
+ if (result == null) result = casePresentationAttributes(svgImageElement);
+ if (result == null) result = caseXLinkAttributes(svgImageElement);
+ if (result == null) result = caseContentElement(svgImageElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_SWITCH_ELEMENT: {
+ SvgSwitchElement svgSwitchElement = (SvgSwitchElement)theEObject;
+ T1 result = caseSvgSwitchElement(svgSwitchElement);
+ if (result == null) result = caseSvgElement(svgSwitchElement);
+ if (result == null) result = caseContainerElement(svgSwitchElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgSwitchElement);
+ if (result == null) result = caseCoreAttributes(svgSwitchElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgSwitchElement);
+ if (result == null) result = casePresentationAttributes(svgSwitchElement);
+ if (result == null) result = caseContentElement(svgSwitchElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_PATH_ELEMENT: {
+ SvgPathElement svgPathElement = (SvgPathElement)theEObject;
+ T1 result = caseSvgPathElement(svgPathElement);
+ if (result == null) result = caseSvgElement(svgPathElement);
+ if (result == null) result = caseGraphicsElement(svgPathElement);
+ if (result == null) result = caseShapeElement(svgPathElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgPathElement);
+ if (result == null) result = caseCoreAttributes(svgPathElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgPathElement);
+ if (result == null) result = casePresentationAttributes(svgPathElement);
+ if (result == null) result = caseContentElement(svgPathElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_RECT_ELEMENT: {
+ SvgRectElement svgRectElement = (SvgRectElement)theEObject;
+ T1 result = caseSvgRectElement(svgRectElement);
+ if (result == null) result = caseSvgElement(svgRectElement);
+ if (result == null) result = caseBasicShapeElement(svgRectElement);
+ if (result == null) result = caseGraphicsElement(svgRectElement);
+ if (result == null) result = caseShapeElement(svgRectElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgRectElement);
+ if (result == null) result = caseCoreAttributes(svgRectElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgRectElement);
+ if (result == null) result = casePresentationAttributes(svgRectElement);
+ if (result == null) result = caseContentElement(svgRectElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_CIRCLE_ELEMENT: {
+ SvgCircleElement svgCircleElement = (SvgCircleElement)theEObject;
+ T1 result = caseSvgCircleElement(svgCircleElement);
+ if (result == null) result = caseSvgElement(svgCircleElement);
+ if (result == null) result = caseBasicShapeElement(svgCircleElement);
+ if (result == null) result = caseGraphicsElement(svgCircleElement);
+ if (result == null) result = caseShapeElement(svgCircleElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgCircleElement);
+ if (result == null) result = caseCoreAttributes(svgCircleElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgCircleElement);
+ if (result == null) result = casePresentationAttributes(svgCircleElement);
+ if (result == null) result = caseContentElement(svgCircleElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ELLIPSE_ELEMENT: {
+ SvgEllipseElement svgEllipseElement = (SvgEllipseElement)theEObject;
+ T1 result = caseSvgEllipseElement(svgEllipseElement);
+ if (result == null) result = caseSvgElement(svgEllipseElement);
+ if (result == null) result = caseBasicShapeElement(svgEllipseElement);
+ if (result == null) result = caseGraphicsElement(svgEllipseElement);
+ if (result == null) result = caseShapeElement(svgEllipseElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgEllipseElement);
+ if (result == null) result = caseCoreAttributes(svgEllipseElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgEllipseElement);
+ if (result == null) result = casePresentationAttributes(svgEllipseElement);
+ if (result == null) result = caseContentElement(svgEllipseElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_LINE_ELEMENT: {
+ SvgLineElement svgLineElement = (SvgLineElement)theEObject;
+ T1 result = caseSvgLineElement(svgLineElement);
+ if (result == null) result = caseSvgElement(svgLineElement);
+ if (result == null) result = caseBasicShapeElement(svgLineElement);
+ if (result == null) result = caseGraphicsElement(svgLineElement);
+ if (result == null) result = caseShapeElement(svgLineElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgLineElement);
+ if (result == null) result = caseCoreAttributes(svgLineElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgLineElement);
+ if (result == null) result = casePresentationAttributes(svgLineElement);
+ if (result == null) result = caseContentElement(svgLineElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_POLYLINE_ELEMENT: {
+ SvgPolylineElement svgPolylineElement = (SvgPolylineElement)theEObject;
+ T1 result = caseSvgPolylineElement(svgPolylineElement);
+ if (result == null) result = caseSvgElement(svgPolylineElement);
+ if (result == null) result = caseBasicShapeElement(svgPolylineElement);
+ if (result == null) result = caseGraphicsElement(svgPolylineElement);
+ if (result == null) result = caseShapeElement(svgPolylineElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgPolylineElement);
+ if (result == null) result = caseCoreAttributes(svgPolylineElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgPolylineElement);
+ if (result == null) result = casePresentationAttributes(svgPolylineElement);
+ if (result == null) result = caseContentElement(svgPolylineElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_POLYGON_ELEMENT: {
+ SvgPolygonElement svgPolygonElement = (SvgPolygonElement)theEObject;
+ T1 result = caseSvgPolygonElement(svgPolygonElement);
+ if (result == null) result = caseSvgElement(svgPolygonElement);
+ if (result == null) result = caseBasicShapeElement(svgPolygonElement);
+ if (result == null) result = caseGraphicsElement(svgPolygonElement);
+ if (result == null) result = caseShapeElement(svgPolygonElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgPolygonElement);
+ if (result == null) result = caseCoreAttributes(svgPolygonElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgPolygonElement);
+ if (result == null) result = casePresentationAttributes(svgPolygonElement);
+ if (result == null) result = caseContentElement(svgPolygonElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_TEXT_ELEMENT: {
+ SvgTextElement svgTextElement = (SvgTextElement)theEObject;
+ T1 result = caseSvgTextElement(svgTextElement);
+ if (result == null) result = caseSvgElement(svgTextElement);
+ if (result == null) result = caseGraphicsElement(svgTextElement);
+ if (result == null) result = caseTextContentElement(svgTextElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgTextElement);
+ if (result == null) result = caseCoreAttributes(svgTextElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgTextElement);
+ if (result == null) result = casePresentationAttributes(svgTextElement);
+ if (result == null) result = caseContentElement(svgTextElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_TSPAN_ELEMENT: {
+ SvgTspanElement svgTspanElement = (SvgTspanElement)theEObject;
+ T1 result = caseSvgTspanElement(svgTspanElement);
+ if (result == null) result = caseSvgElement(svgTspanElement);
+ if (result == null) result = caseTextContentElement(svgTspanElement);
+ if (result == null) result = caseTextContentChildElement(svgTspanElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgTspanElement);
+ if (result == null) result = caseCoreAttributes(svgTspanElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgTspanElement);
+ if (result == null) result = casePresentationAttributes(svgTspanElement);
+ if (result == null) result = caseContentElement(svgTspanElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_TREF_ELEMENT: {
+ SvgTrefElement svgTrefElement = (SvgTrefElement)theEObject;
+ T1 result = caseSvgTrefElement(svgTrefElement);
+ if (result == null) result = caseSvgElement(svgTrefElement);
+ if (result == null) result = caseTextContentElement(svgTrefElement);
+ if (result == null) result = caseTextContentChildElement(svgTrefElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgTrefElement);
+ if (result == null) result = caseCoreAttributes(svgTrefElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgTrefElement);
+ if (result == null) result = casePresentationAttributes(svgTrefElement);
+ if (result == null) result = caseXLinkAttributes(svgTrefElement);
+ if (result == null) result = caseContentElement(svgTrefElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_TEXT_PATH_ELEMENT: {
+ SvgTextPathElement svgTextPathElement = (SvgTextPathElement)theEObject;
+ T1 result = caseSvgTextPathElement(svgTextPathElement);
+ if (result == null) result = caseSvgElement(svgTextPathElement);
+ if (result == null) result = caseTextContentElement(svgTextPathElement);
+ if (result == null) result = caseTextContentChildElement(svgTextPathElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgTextPathElement);
+ if (result == null) result = caseCoreAttributes(svgTextPathElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgTextPathElement);
+ if (result == null) result = casePresentationAttributes(svgTextPathElement);
+ if (result == null) result = caseXLinkAttributes(svgTextPathElement);
+ if (result == null) result = caseContentElement(svgTextPathElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ALT_GLYPH_ELEMENT: {
+ SvgAltGlyphElement svgAltGlyphElement = (SvgAltGlyphElement)theEObject;
+ T1 result = caseSvgAltGlyphElement(svgAltGlyphElement);
+ if (result == null) result = caseSvgElement(svgAltGlyphElement);
+ if (result == null) result = caseTextContentElement(svgAltGlyphElement);
+ if (result == null) result = caseTextContentChildElement(svgAltGlyphElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgAltGlyphElement);
+ if (result == null) result = caseCoreAttributes(svgAltGlyphElement);
+ if (result == null) result = caseGraphicalEventAttributes(svgAltGlyphElement);
+ if (result == null) result = casePresentationAttributes(svgAltGlyphElement);
+ if (result == null) result = caseXLinkAttributes(svgAltGlyphElement);
+ if (result == null) result = caseContentElement(svgAltGlyphElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ALT_GLYPH_DEF_ELEMENT: {
+ SvgAltGlyphDefElement svgAltGlyphDefElement = (SvgAltGlyphDefElement)theEObject;
+ T1 result = caseSvgAltGlyphDefElement(svgAltGlyphDefElement);
+ if (result == null) result = caseSvgElement(svgAltGlyphDefElement);
+ if (result == null) result = caseCoreAttributes(svgAltGlyphDefElement);
+ if (result == null) result = caseContentElement(svgAltGlyphDefElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ALT_GLYPH_ITEM_ELEMENT: {
+ SvgAltGlyphItemElement svgAltGlyphItemElement = (SvgAltGlyphItemElement)theEObject;
+ T1 result = caseSvgAltGlyphItemElement(svgAltGlyphItemElement);
+ if (result == null) result = caseSvgElement(svgAltGlyphItemElement);
+ if (result == null) result = caseCoreAttributes(svgAltGlyphItemElement);
+ if (result == null) result = caseContentElement(svgAltGlyphItemElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ALT_GLYPH_REF_ELEMENT: {
+ SvgAltGlyphRefElement svgAltGlyphRefElement = (SvgAltGlyphRefElement)theEObject;
+ T1 result = caseSvgAltGlyphRefElement(svgAltGlyphRefElement);
+ if (result == null) result = caseSvgElement(svgAltGlyphRefElement);
+ if (result == null) result = caseCoreAttributes(svgAltGlyphRefElement);
+ if (result == null) result = casePresentationAttributes(svgAltGlyphRefElement);
+ if (result == null) result = caseXLinkAttributes(svgAltGlyphRefElement);
+ if (result == null) result = caseContentElement(svgAltGlyphRefElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_MARKER_ELEMENT: {
+ SvgMarkerElement svgMarkerElement = (SvgMarkerElement)theEObject;
+ T1 result = caseSvgMarkerElement(svgMarkerElement);
+ if (result == null) result = caseSvgElement(svgMarkerElement);
+ if (result == null) result = caseCoreAttributes(svgMarkerElement);
+ if (result == null) result = casePresentationAttributes(svgMarkerElement);
+ if (result == null) result = caseContentElement(svgMarkerElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_COLOR_PROFILE_ELEMENT: {
+ SvgColorProfileElement svgColorProfileElement = (SvgColorProfileElement)theEObject;
+ T1 result = caseSvgColorProfileElement(svgColorProfileElement);
+ if (result == null) result = caseSvgElement(svgColorProfileElement);
+ if (result == null) result = caseCoreAttributes(svgColorProfileElement);
+ if (result == null) result = casePresentationAttributes(svgColorProfileElement);
+ if (result == null) result = caseXLinkAttributes(svgColorProfileElement);
+ if (result == null) result = caseContentElement(svgColorProfileElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_LINEAR_GRADIENT_ELEMENT: {
+ SvgLinearGradientElement svgLinearGradientElement = (SvgLinearGradientElement)theEObject;
+ T1 result = caseSvgLinearGradientElement(svgLinearGradientElement);
+ if (result == null) result = caseSvgElement(svgLinearGradientElement);
+ if (result == null) result = caseGradientElement(svgLinearGradientElement);
+ if (result == null) result = caseCoreAttributes(svgLinearGradientElement);
+ if (result == null) result = casePresentationAttributes(svgLinearGradientElement);
+ if (result == null) result = caseXLinkAttributes(svgLinearGradientElement);
+ if (result == null) result = caseContentElement(svgLinearGradientElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_RADIAL_GRADIENT_ELEMENT: {
+ SvgRadialGradientElement svgRadialGradientElement = (SvgRadialGradientElement)theEObject;
+ T1 result = caseSvgRadialGradientElement(svgRadialGradientElement);
+ if (result == null) result = caseSvgElement(svgRadialGradientElement);
+ if (result == null) result = caseGradientElement(svgRadialGradientElement);
+ if (result == null) result = caseCoreAttributes(svgRadialGradientElement);
+ if (result == null) result = casePresentationAttributes(svgRadialGradientElement);
+ if (result == null) result = caseXLinkAttributes(svgRadialGradientElement);
+ if (result == null) result = caseContentElement(svgRadialGradientElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_STOP_ELEMENT: {
+ SvgStopElement svgStopElement = (SvgStopElement)theEObject;
+ T1 result = caseSvgStopElement(svgStopElement);
+ if (result == null) result = caseSvgElement(svgStopElement);
+ if (result == null) result = caseCoreAttributes(svgStopElement);
+ if (result == null) result = casePresentationAttributes(svgStopElement);
+ if (result == null) result = caseContentElement(svgStopElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_PATTERN_ELEMENT: {
+ SvgPatternElement svgPatternElement = (SvgPatternElement)theEObject;
+ T1 result = caseSvgPatternElement(svgPatternElement);
+ if (result == null) result = caseSvgElement(svgPatternElement);
+ if (result == null) result = caseContainerElement(svgPatternElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgPatternElement);
+ if (result == null) result = caseCoreAttributes(svgPatternElement);
+ if (result == null) result = casePresentationAttributes(svgPatternElement);
+ if (result == null) result = caseXLinkAttributes(svgPatternElement);
+ if (result == null) result = caseContentElement(svgPatternElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_CLIP_PATH_ELEMENT: {
+ SvgClipPathElement svgClipPathElement = (SvgClipPathElement)theEObject;
+ T1 result = caseSvgClipPathElement(svgClipPathElement);
+ if (result == null) result = caseSvgElement(svgClipPathElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgClipPathElement);
+ if (result == null) result = caseCoreAttributes(svgClipPathElement);
+ if (result == null) result = casePresentationAttributes(svgClipPathElement);
+ if (result == null) result = caseContentElement(svgClipPathElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_MASK_ELEMENT: {
+ SvgMaskElement svgMaskElement = (SvgMaskElement)theEObject;
+ T1 result = caseSvgMaskElement(svgMaskElement);
+ if (result == null) result = caseSvgElement(svgMaskElement);
+ if (result == null) result = caseConditionalProcessingAttributes(svgMaskElement);
+ if (result == null) result = caseCoreAttributes(svgMaskElement);
+ if (result == null) result = casePresentationAttributes(svgMaskElement);
+ if (result == null) result = caseContentElement(svgMaskElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FILTER_ELEMENT: {
+ SvgFilterElement svgFilterElement = (SvgFilterElement)theEObject;
+ T1 result = caseSvgFilterElement(svgFilterElement);
+ if (result == null) result = caseSvgElement(svgFilterElement);
+ if (result == null) result = caseCoreAttributes(svgFilterElement);
+ if (result == null) result = casePresentationAttributes(svgFilterElement);
+ if (result == null) result = caseXLinkAttributes(svgFilterElement);
+ if (result == null) result = caseContentElement(svgFilterElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_DISTANT_LIGHT_ELEMENT: {
+ SvgFeDistantLightElement svgFeDistantLightElement = (SvgFeDistantLightElement)theEObject;
+ T1 result = caseSvgFeDistantLightElement(svgFeDistantLightElement);
+ if (result == null) result = caseSvgElement(svgFeDistantLightElement);
+ if (result == null) result = caseCoreAttributes(svgFeDistantLightElement);
+ if (result == null) result = caseContentElement(svgFeDistantLightElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_POINT_LIGHT_ELEMENT: {
+ SvgFePointLightElement svgFePointLightElement = (SvgFePointLightElement)theEObject;
+ T1 result = caseSvgFePointLightElement(svgFePointLightElement);
+ if (result == null) result = caseSvgElement(svgFePointLightElement);
+ if (result == null) result = caseCoreAttributes(svgFePointLightElement);
+ if (result == null) result = caseLightSourceElement(svgFePointLightElement);
+ if (result == null) result = caseContentElement(svgFePointLightElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_SPOT_LIGHT_ELEMENT: {
+ SvgFeSpotLightElement svgFeSpotLightElement = (SvgFeSpotLightElement)theEObject;
+ T1 result = caseSvgFeSpotLightElement(svgFeSpotLightElement);
+ if (result == null) result = caseSvgElement(svgFeSpotLightElement);
+ if (result == null) result = caseCoreAttributes(svgFeSpotLightElement);
+ if (result == null) result = caseLightSourceElement(svgFeSpotLightElement);
+ if (result == null) result = caseContentElement(svgFeSpotLightElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_BLEND_ELEMENT: {
+ SvgFeBlendElement svgFeBlendElement = (SvgFeBlendElement)theEObject;
+ T1 result = caseSvgFeBlendElement(svgFeBlendElement);
+ if (result == null) result = caseSvgElement(svgFeBlendElement);
+ if (result == null) result = caseCoreAttributes(svgFeBlendElement);
+ if (result == null) result = casePresentationAttributes(svgFeBlendElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeBlendElement);
+ if (result == null) result = caseContentElement(svgFeBlendElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_COLOR_MATRIX_ELEMENT: {
+ SvgFeColorMatrixElement svgFeColorMatrixElement = (SvgFeColorMatrixElement)theEObject;
+ T1 result = caseSvgFeColorMatrixElement(svgFeColorMatrixElement);
+ if (result == null) result = caseSvgElement(svgFeColorMatrixElement);
+ if (result == null) result = caseCoreAttributes(svgFeColorMatrixElement);
+ if (result == null) result = casePresentationAttributes(svgFeColorMatrixElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeColorMatrixElement);
+ if (result == null) result = caseContentElement(svgFeColorMatrixElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_COMPONENT_TRANSFER_ELEMENT: {
+ SvgFeComponentTransferElement svgFeComponentTransferElement = (SvgFeComponentTransferElement)theEObject;
+ T1 result = caseSvgFeComponentTransferElement(svgFeComponentTransferElement);
+ if (result == null) result = caseSvgElement(svgFeComponentTransferElement);
+ if (result == null) result = caseCoreAttributes(svgFeComponentTransferElement);
+ if (result == null) result = casePresentationAttributes(svgFeComponentTransferElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeComponentTransferElement);
+ if (result == null) result = caseContentElement(svgFeComponentTransferElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_FUNC_RELEMENT: {
+ SvgFeFuncRElement svgFeFuncRElement = (SvgFeFuncRElement)theEObject;
+ T1 result = caseSvgFeFuncRElement(svgFeFuncRElement);
+ if (result == null) result = caseSvgElement(svgFeFuncRElement);
+ if (result == null) result = caseCoreAttributes(svgFeFuncRElement);
+ if (result == null) result = casePresentationAttributes(svgFeFuncRElement);
+ if (result == null) result = caseContentElement(svgFeFuncRElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_FUNC_GELEMENT: {
+ SvgFeFuncGElement svgFeFuncGElement = (SvgFeFuncGElement)theEObject;
+ T1 result = caseSvgFeFuncGElement(svgFeFuncGElement);
+ if (result == null) result = caseSvgElement(svgFeFuncGElement);
+ if (result == null) result = caseCoreAttributes(svgFeFuncGElement);
+ if (result == null) result = casePresentationAttributes(svgFeFuncGElement);
+ if (result == null) result = caseContentElement(svgFeFuncGElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_FUNC_BELEMENT: {
+ SvgFeFuncBElement svgFeFuncBElement = (SvgFeFuncBElement)theEObject;
+ T1 result = caseSvgFeFuncBElement(svgFeFuncBElement);
+ if (result == null) result = caseSvgElement(svgFeFuncBElement);
+ if (result == null) result = caseCoreAttributes(svgFeFuncBElement);
+ if (result == null) result = casePresentationAttributes(svgFeFuncBElement);
+ if (result == null) result = caseContentElement(svgFeFuncBElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_FUNC_AELEMENT: {
+ SvgFeFuncAElement svgFeFuncAElement = (SvgFeFuncAElement)theEObject;
+ T1 result = caseSvgFeFuncAElement(svgFeFuncAElement);
+ if (result == null) result = caseSvgElement(svgFeFuncAElement);
+ if (result == null) result = caseCoreAttributes(svgFeFuncAElement);
+ if (result == null) result = casePresentationAttributes(svgFeFuncAElement);
+ if (result == null) result = caseContentElement(svgFeFuncAElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_COMPOSITE_ELEMENT: {
+ SvgFeCompositeElement svgFeCompositeElement = (SvgFeCompositeElement)theEObject;
+ T1 result = caseSvgFeCompositeElement(svgFeCompositeElement);
+ if (result == null) result = caseSvgElement(svgFeCompositeElement);
+ if (result == null) result = caseCoreAttributes(svgFeCompositeElement);
+ if (result == null) result = casePresentationAttributes(svgFeCompositeElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeCompositeElement);
+ if (result == null) result = caseContentElement(svgFeCompositeElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_CONVOLVE_MATRIX_ELEMENT: {
+ SvgFeConvolveMatrixElement svgFeConvolveMatrixElement = (SvgFeConvolveMatrixElement)theEObject;
+ T1 result = caseSvgFeConvolveMatrixElement(svgFeConvolveMatrixElement);
+ if (result == null) result = caseSvgElement(svgFeConvolveMatrixElement);
+ if (result == null) result = caseCoreAttributes(svgFeConvolveMatrixElement);
+ if (result == null) result = casePresentationAttributes(svgFeConvolveMatrixElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeConvolveMatrixElement);
+ if (result == null) result = caseContentElement(svgFeConvolveMatrixElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_DIFFUSE_LIGHTING_ELEMENT: {
+ SvgFeDiffuseLightingElement svgFeDiffuseLightingElement = (SvgFeDiffuseLightingElement)theEObject;
+ T1 result = caseSvgFeDiffuseLightingElement(svgFeDiffuseLightingElement);
+ if (result == null) result = caseSvgElement(svgFeDiffuseLightingElement);
+ if (result == null) result = caseCoreAttributes(svgFeDiffuseLightingElement);
+ if (result == null) result = casePresentationAttributes(svgFeDiffuseLightingElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeDiffuseLightingElement);
+ if (result == null) result = caseContentElement(svgFeDiffuseLightingElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_DISPLACEMENT_MAP_ELEMENT: {
+ SvgFeDisplacementMapElement svgFeDisplacementMapElement = (SvgFeDisplacementMapElement)theEObject;
+ T1 result = caseSvgFeDisplacementMapElement(svgFeDisplacementMapElement);
+ if (result == null) result = caseSvgElement(svgFeDisplacementMapElement);
+ if (result == null) result = caseCoreAttributes(svgFeDisplacementMapElement);
+ if (result == null) result = casePresentationAttributes(svgFeDisplacementMapElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeDisplacementMapElement);
+ if (result == null) result = caseContentElement(svgFeDisplacementMapElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_FLOOD_ELEMENT: {
+ SvgFeFloodElement svgFeFloodElement = (SvgFeFloodElement)theEObject;
+ T1 result = caseSvgFeFloodElement(svgFeFloodElement);
+ if (result == null) result = caseSvgElement(svgFeFloodElement);
+ if (result == null) result = caseCoreAttributes(svgFeFloodElement);
+ if (result == null) result = casePresentationAttributes(svgFeFloodElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeFloodElement);
+ if (result == null) result = caseContentElement(svgFeFloodElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_GAUSSIAN_BLUR_ELEMENT: {
+ SvgFeGaussianBlurElement svgFeGaussianBlurElement = (SvgFeGaussianBlurElement)theEObject;
+ T1 result = caseSvgFeGaussianBlurElement(svgFeGaussianBlurElement);
+ if (result == null) result = caseSvgElement(svgFeGaussianBlurElement);
+ if (result == null) result = caseCoreAttributes(svgFeGaussianBlurElement);
+ if (result == null) result = casePresentationAttributes(svgFeGaussianBlurElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeGaussianBlurElement);
+ if (result == null) result = caseContentElement(svgFeGaussianBlurElement);
+ if (result == null) result = caseFilterPrimitiveElement(svgFeGaussianBlurElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_IMAGE_ELEMENT: {
+ SvgFeImageElement svgFeImageElement = (SvgFeImageElement)theEObject;
+ T1 result = caseSvgFeImageElement(svgFeImageElement);
+ if (result == null) result = caseSvgElement(svgFeImageElement);
+ if (result == null) result = caseCoreAttributes(svgFeImageElement);
+ if (result == null) result = casePresentationAttributes(svgFeImageElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeImageElement);
+ if (result == null) result = caseXLinkAttributes(svgFeImageElement);
+ if (result == null) result = caseContentElement(svgFeImageElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_MERGE_ELEMENT: {
+ SvgFeMergeElement svgFeMergeElement = (SvgFeMergeElement)theEObject;
+ T1 result = caseSvgFeMergeElement(svgFeMergeElement);
+ if (result == null) result = caseSvgElement(svgFeMergeElement);
+ if (result == null) result = caseCoreAttributes(svgFeMergeElement);
+ if (result == null) result = casePresentationAttributes(svgFeMergeElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeMergeElement);
+ if (result == null) result = caseContentElement(svgFeMergeElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_MERGE_NODE_ELEMENT: {
+ SvgFeMergeNodeElement svgFeMergeNodeElement = (SvgFeMergeNodeElement)theEObject;
+ T1 result = caseSvgFeMergeNodeElement(svgFeMergeNodeElement);
+ if (result == null) result = caseSvgElement(svgFeMergeNodeElement);
+ if (result == null) result = caseCoreAttributes(svgFeMergeNodeElement);
+ if (result == null) result = caseContentElement(svgFeMergeNodeElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_MORPHOLOGY_ELEMENT: {
+ SvgFeMorphologyElement svgFeMorphologyElement = (SvgFeMorphologyElement)theEObject;
+ T1 result = caseSvgFeMorphologyElement(svgFeMorphologyElement);
+ if (result == null) result = caseSvgElement(svgFeMorphologyElement);
+ if (result == null) result = caseCoreAttributes(svgFeMorphologyElement);
+ if (result == null) result = casePresentationAttributes(svgFeMorphologyElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeMorphologyElement);
+ if (result == null) result = caseContentElement(svgFeMorphologyElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_OFFSET_ELEMENT: {
+ SvgFeOffsetElement svgFeOffsetElement = (SvgFeOffsetElement)theEObject;
+ T1 result = caseSvgFeOffsetElement(svgFeOffsetElement);
+ if (result == null) result = caseSvgElement(svgFeOffsetElement);
+ if (result == null) result = caseCoreAttributes(svgFeOffsetElement);
+ if (result == null) result = casePresentationAttributes(svgFeOffsetElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeOffsetElement);
+ if (result == null) result = caseContentElement(svgFeOffsetElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_SPECULAR_LIGHTING_ELEMENT: {
+ SvgFeSpecularLightingElement svgFeSpecularLightingElement = (SvgFeSpecularLightingElement)theEObject;
+ T1 result = caseSvgFeSpecularLightingElement(svgFeSpecularLightingElement);
+ if (result == null) result = caseSvgElement(svgFeSpecularLightingElement);
+ if (result == null) result = caseCoreAttributes(svgFeSpecularLightingElement);
+ if (result == null) result = casePresentationAttributes(svgFeSpecularLightingElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeSpecularLightingElement);
+ if (result == null) result = caseContentElement(svgFeSpecularLightingElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_TILE_ELEMENT: {
+ SvgFeTileElement svgFeTileElement = (SvgFeTileElement)theEObject;
+ T1 result = caseSvgFeTileElement(svgFeTileElement);
+ if (result == null) result = caseSvgElement(svgFeTileElement);
+ if (result == null) result = caseCoreAttributes(svgFeTileElement);
+ if (result == null) result = casePresentationAttributes(svgFeTileElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeTileElement);
+ if (result == null) result = caseContentElement(svgFeTileElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_FE_TURBULENCE_ELEMENT: {
+ SvgFeTurbulenceElement svgFeTurbulenceElement = (SvgFeTurbulenceElement)theEObject;
+ T1 result = caseSvgFeTurbulenceElement(svgFeTurbulenceElement);
+ if (result == null) result = caseSvgElement(svgFeTurbulenceElement);
+ if (result == null) result = caseCoreAttributes(svgFeTurbulenceElement);
+ if (result == null) result = casePresentationAttributes(svgFeTurbulenceElement);
+ if (result == null) result = caseFilterPrimitiveAttributes(svgFeTurbulenceElement);
+ if (result == null) result = caseContentElement(svgFeTurbulenceElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_ANIMATE_ELEMENT: {
+ SvgAnimateElement svgAnimateElement = (SvgAnimateElement)theEObject;
+ T1 result = caseSvgAnimateElement(svgAnimateElement);
+ if (result == null) result = caseSvgElement(svgAnimateElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SvgPackage.SVG_METADATA_ELEMENT: {
+ SvgMetadataElement svgMetadataElement = (SvgMetadataElement)theEObject;
+ T1 result = caseSvgMetadataElement(svgMetadataElement);
+ if (result == null) result = caseSvgElement(svgMetadataElement);
+ if (result == null) result = caseCoreAttributes(svgMetadataElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Content Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Content Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public <T extends SvgElement> T1 caseContentElement(ContentElement<T> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Container Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public <T extends SvgElement> T1 caseContainerElement(ContainerElement<T> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Structural Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Structural Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseStructuralElement(StructuralElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgElement(SvgElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Descriptive Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Descriptive Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseDescriptiveElement(DescriptiveElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Graphics Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Graphics Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseGraphicsElement(GraphicsElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Graphics Referencing Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Graphics Referencing Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseGraphicsReferencingElement(GraphicsReferencingElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Shape Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Shape Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseShapeElement(ShapeElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic Shape Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Basic Shape Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseBasicShapeElement(BasicShapeElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Text Content Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Text Content Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseTextContentElement(TextContentElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Text Content Child Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Text Content Child Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseTextContentChildElement(TextContentChildElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gradient Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gradient Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseGradientElement(GradientElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Light Source Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Light Source Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseLightSourceElement(LightSourceElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Filter Primitive Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Filter Primitive Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseFilterPrimitiveElement(FilterPrimitiveElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Animation Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Animation Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseAnimationElement(AnimationElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ENUMS </em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ENUMS </em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 case____ENUMS____(____ENUMS____ object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>DATATYPES </em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>DATATYPES </em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 case____DATATYPES____(____DATATYPES____ object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ATTRIBUTES </em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ATTRIBUTES </em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 case____ATTRIBUTES____(____ATTRIBUTES____ object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Processing Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conditional Processing Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseConditionalProcessingAttributes(ConditionalProcessingAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Core Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Core Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseCoreAttributes(CoreAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Document Event Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Document Event Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseDocumentEventAttributes(DocumentEventAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Graphical Event Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Graphical Event Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseGraphicalEventAttributes(GraphicalEventAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Presentation Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Presentation Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 casePresentationAttributes(PresentationAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>XLink Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>XLink Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseXLinkAttributes(XLinkAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Filter Primitive Attributes</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Filter Primitive Attributes</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseFilterPrimitiveAttributes(FilterPrimitiveAttributes object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>ELEMENTES </em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>ELEMENTES </em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 case____ELEMENTES____(____ELEMENTES____ object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Svg Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Svg Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgSvgElement(SvgSvgElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>GElement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>GElement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgGElement(SvgGElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Defs Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Defs Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgDefsElement(SvgDefsElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Desc Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Desc Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgDescElement(SvgDescElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Title Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Title Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgTitleElement(SvgTitleElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Symbol Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Symbol Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgSymbolElement(SvgSymbolElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Use Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Use Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgUseElement(SvgUseElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Image Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Image Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgImageElement(SvgImageElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Switch Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Switch Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgSwitchElement(SvgSwitchElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Path Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Path Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgPathElement(SvgPathElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rect Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rect Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgRectElement(SvgRectElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Circle Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Circle Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgCircleElement(SvgCircleElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ellipse Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ellipse Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgEllipseElement(SvgEllipseElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Line Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Line Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgLineElement(SvgLineElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Polyline Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Polyline Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgPolylineElement(SvgPolylineElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Polygon Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Polygon Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgPolygonElement(SvgPolygonElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Text Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Text Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgTextElement(SvgTextElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tspan Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tspan Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgTspanElement(SvgTspanElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tref Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tref Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgTrefElement(SvgTrefElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Text Path Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Text Path Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgTextPathElement(SvgTextPathElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Alt Glyph Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgAltGlyphElement(SvgAltGlyphElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Def Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Alt Glyph Def Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgAltGlyphDefElement(SvgAltGlyphDefElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Item Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Alt Glyph Item Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgAltGlyphItemElement(SvgAltGlyphItemElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Alt Glyph Ref Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Alt Glyph Ref Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgAltGlyphRefElement(SvgAltGlyphRefElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Marker Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Marker Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgMarkerElement(SvgMarkerElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Color Profile Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Color Profile Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgColorProfileElement(SvgColorProfileElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Linear Gradient Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Linear Gradient Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgLinearGradientElement(SvgLinearGradientElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Radial Gradient Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Radial Gradient Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgRadialGradientElement(SvgRadialGradientElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stop Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stop Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgStopElement(SvgStopElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pattern Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Pattern Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgPatternElement(SvgPatternElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Clip Path Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Clip Path Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgClipPathElement(SvgClipPathElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mask Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Mask Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgMaskElement(SvgMaskElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Filter Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Filter Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFilterElement(SvgFilterElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Distant Light Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Distant Light Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeDistantLightElement(SvgFeDistantLightElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Point Light Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Point Light Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFePointLightElement(SvgFePointLightElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Spot Light Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Spot Light Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeSpotLightElement(SvgFeSpotLightElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Blend Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Blend Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeBlendElement(SvgFeBlendElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Color Matrix Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Color Matrix Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeColorMatrixElement(SvgFeColorMatrixElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Component Transfer Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Component Transfer Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeComponentTransferElement(SvgFeComponentTransferElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Func RElement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Func RElement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeFuncRElement(SvgFeFuncRElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Func GElement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Func GElement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeFuncGElement(SvgFeFuncGElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Func BElement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Func BElement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeFuncBElement(SvgFeFuncBElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Func AElement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Func AElement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeFuncAElement(SvgFeFuncAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Composite Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Composite Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeCompositeElement(SvgFeCompositeElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Convolve Matrix Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Convolve Matrix Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeConvolveMatrixElement(SvgFeConvolveMatrixElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Diffuse Lighting Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Diffuse Lighting Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeDiffuseLightingElement(SvgFeDiffuseLightingElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Displacement Map Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Displacement Map Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeDisplacementMapElement(SvgFeDisplacementMapElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Flood Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Flood Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeFloodElement(SvgFeFloodElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Gaussian Blur Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Gaussian Blur Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeGaussianBlurElement(SvgFeGaussianBlurElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Image Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Image Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeImageElement(SvgFeImageElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Merge Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Merge Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeMergeElement(SvgFeMergeElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Merge Node Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Merge Node Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeMergeNodeElement(SvgFeMergeNodeElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Morphology Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Morphology Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeMorphologyElement(SvgFeMorphologyElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Offset Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Offset Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeOffsetElement(SvgFeOffsetElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Specular Lighting Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Specular Lighting Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeSpecularLightingElement(SvgFeSpecularLightingElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Tile Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Tile Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeTileElement(SvgFeTileElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fe Turbulence Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fe Turbulence Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgFeTurbulenceElement(SvgFeTurbulenceElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Animate Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Animate Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgAnimateElement(SvgAnimateElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Metadata Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Metadata Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseSvgMetadataElement(SvgMetadataElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T1 defaultCase(EObject object) {
+ return null;
+ }
+
+} //SvgSwitch
diff --git a/bundles/runtime/org.eclipse.fx.javafx/pom.xml b/bundles/runtime/org.eclipse.fx.javafx/pom.xml
index 8520a31..6e0086f 100755
--- a/bundles/runtime/org.eclipse.fx.javafx/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.javafx/pom.xml
@@ -11,7 +11,7 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.json.schema/src-gen/org/eclipse/fx/json/schema/gson/GsonJsonSchemaMapImpl.java b/bundles/runtime/org.eclipse.fx.json.schema/src-gen/org/eclipse/fx/json/schema/gson/GsonJsonSchemaMapImpl.java
index bd1d213..e6c5ebc 100644
--- a/bundles/runtime/org.eclipse.fx.json.schema/src-gen/org/eclipse/fx/json/schema/gson/GsonJsonSchemaMapImpl.java
+++ b/bundles/runtime/org.eclipse.fx.json.schema/src-gen/org/eclipse/fx/json/schema/gson/GsonJsonSchemaMapImpl.java
@@ -14,6 +14,9 @@
public JsonObject toJSONObject() {
JsonObject o = new JsonObject();
o.addProperty( "$gtype", "JsonSchemaMap" );
+ for( java.util.Map.Entry<String,JsonSchema> e : this.propertyMap ) {
+ o.add( e.getKey(), ((GsonBase)e.getValue()).toJSONObject() );
+ }
return o;
}
@@ -26,6 +29,9 @@
private static java.util.Map<String,JsonSchema> toMap(JsonObject o) {
java.util.Map<String,JsonSchema> rv = new java.util.HashMap<>();
for( java.util.Map.Entry<String,com.google.gson.JsonElement> e : o.entrySet() ) {
+ if( e.getKey().startsWith("$") ) {
+ continue;
+ }
rv.put( e.getKey(), GsonElementFactory.createJsonSchema(e.getValue().getAsJsonObject()) );
}
return rv;
diff --git a/bundles/runtime/org.eclipse.fx.osgi.util/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.osgi.util/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.osgi.util/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.osgi.util/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.osgi.util/META-INF/MANIFEST.MF
index c0ed697..9ab666d 100755
--- a/bundles/runtime/org.eclipse.fx.osgi.util/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.osgi.util/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.osgi.util
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.inject;version="1.0.0",
org.eclipse.equinox.app;version="1.1.0";resolution:=optional,
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.databinding;version="2.6.0";resolution:=optional,
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.databinding;version="3.0.0";resolution:=optional,
org.osgi.framework;version="1.6.0",
org.osgi.framework.wiring;version="1.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
org.osgi.service.event;version="1.3.0";resolution:=optional,
org.osgi.service.url;version="1.0.0"
-Export-Package: org.eclipse.fx.osgi.util;version="2.6.0"
+Export-Package: org.eclipse.fx.osgi.util;version="3.0.0"
Bundle-Vendor: %Bundle-Vendor
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional,
org.eclipse.core.databinding.observable;bundle-version="1.4.1";resolution:=optional,
diff --git a/bundles/runtime/org.eclipse.fx.osgi.util/pom.xml b/bundles/runtime/org.eclipse.fx.osgi.util/pom.xml
index 869b39d..b55dc35 100755
--- a/bundles/runtime/org.eclipse.fx.osgi.util/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.osgi.util/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.osgi/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.osgi/META-INF/MANIFEST.MF
index a0ca6e0..af390dd 100755
--- a/bundles/runtime/org.eclipse.fx.osgi/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.osgi/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.osgi
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Fragment-Host: org.eclipse.osgi;bundle-version="3.10.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: %Bundle-Vendor
diff --git a/bundles/runtime/org.eclipse.fx.osgi/pom.xml b/bundles/runtime/org.eclipse.fx.osgi/pom.xml
index 83d4ba2..2e3856d 100755
--- a/bundles/runtime/org.eclipse.fx.osgi/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.osgi/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.animation/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.animation/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.animation/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.animation/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.animation/META-INF/MANIFEST.MF
index 3797378..290783f 100755
--- a/bundles/runtime/org.eclipse.fx.ui.animation/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.animation/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: Animationutils
Bundle-SymbolicName: org.eclipse.fx.ui.animation;singleton:=true
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: Eclipse.org
-Export-Package: org.eclipse.fx.ui.animation;version="2.6.0",
- org.eclipse.fx.ui.animation.morph;version="2.6.0",
- org.eclipse.fx.ui.animation.pagetransition;version="2.6.0",
- org.eclipse.fx.ui.animation.pagetransition.animation;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.animation;version="3.0.0",
+ org.eclipse.fx.ui.animation.morph;version="3.0.0",
+ org.eclipse.fx.ui.animation.pagetransition;version="3.0.0",
+ org.eclipse.fx.ui.animation.pagetransition.animation;version="3.0.0"
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
diff --git a/bundles/runtime/org.eclipse.fx.ui.animation/pom.xml b/bundles/runtime/org.eclipse.fx.ui.animation/pom.xml
index 34a90da..0ee11f8 100755
--- a/bundles/runtime/org.eclipse.fx.ui.animation/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.animation/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.controls/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.controls/META-INF/MANIFEST.MF
index c412b38..faefbdc 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/META-INF/MANIFEST.MF
@@ -2,38 +2,41 @@
Bundle-ManifestVersion: 2
Bundle-Name: Controls
Bundle-SymbolicName: org.eclipse.fx.ui.controls
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.ui.controls;version="2.6.0",
- org.eclipse.fx.ui.controls.dialog;version="2.6.0";x-internal:=true,
- org.eclipse.fx.ui.controls.dnd;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
- org.eclipse.fx.ui.controls.filesystem;version="2.6.0",
- org.eclipse.fx.ui.controls.form;x-internal:=true,
- org.eclipse.fx.ui.controls.image;version="2.6.0",
- org.eclipse.fx.ui.controls.list;version="2.6.0",
- org.eclipse.fx.ui.controls.markers;version="2.6.0",
- org.eclipse.fx.ui.controls.media;version="2.6.0",
- org.eclipse.fx.ui.controls.paint;version="2.6.0",
- org.eclipse.fx.ui.controls.sceneviewer;version="2.6.0",
- org.eclipse.fx.ui.controls.stage;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
- org.eclipse.fx.ui.controls.styledtext;version="2.6.0";x-internal:=true,
- org.eclipse.fx.ui.controls.styledtext.behavior;version="2.6.0";x-internal:=true,
- org.eclipse.fx.ui.controls.styledtext.events;version="2.6.0";x-internal:=true,
- org.eclipse.fx.ui.controls.styledtext.model;version="2.6.0";x-internal:=true,
- org.eclipse.fx.ui.controls.styledtext.skin;version="2.6.0";x-internal:=true,
+Export-Package: org.eclipse.fx.ui.controls;version="3.0.0",
+ org.eclipse.fx.ui.controls.dialog;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.controls.dnd;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
+ org.eclipse.fx.ui.controls.filesystem;version="3.0.0",
+ org.eclipse.fx.ui.controls.form;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.controls.image;version="3.0.0",
+ org.eclipse.fx.ui.controls.list;version="3.0.0",
+ org.eclipse.fx.ui.controls.markers;version="3.0.0",
+ org.eclipse.fx.ui.controls.media;version="3.0.0",
+ org.eclipse.fx.ui.controls.paint;version="3.0.0",
+ org.eclipse.fx.ui.controls.sceneviewer;version="3.0.0",
+ org.eclipse.fx.ui.controls.stage;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
+ org.eclipse.fx.ui.controls.styledtext;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.controls.styledtext.behavior;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.controls.styledtext.events;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.controls.styledtext.model;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.controls.styledtext.skin;version="3.0.0";x-internal:=true,
org.eclipse.fx.ui.controls.table,
- org.eclipse.fx.ui.controls.tabpane;version="2.6.0",
- org.eclipse.fx.ui.controls.tree;version="2.6.0",
- org.eclipse.fx.ui.controls.vectorgraphics;version="2.6.0"
+ org.eclipse.fx.ui.controls.tabpane;version="3.0.0",
+ org.eclipse.fx.ui.controls.tree;version="3.0.0",
+ org.eclipse.fx.ui.controls.vectorgraphics;version="3.0.0"
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.controls.styledtext.UnderlineStrategyFactory.xml,
OSGI-INF/services/org.eclipse.fx.ui.controls.image.fontawesome.FontAwesomeIconFontProvider.xml,
- OSGI-INF/services/org.eclipse.fx.ui.controls.form.GraphicDecorator.xml
+ OSGI-INF/services/org.eclipse.fx.ui.controls.form.GraphicDecorator.xml,
+ OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FontGraphicNodeProvider.xml,
+ OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FXMLNodeProvider.xml,
+ OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.ImageClipNodeProvider.xml
Bundle-Vendor: Eclipse.org
Import-Package: com.google.common.collect;version="15.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.property;version="2.6.0",
- org.eclipse.fx.core.text;version="2.6.0",
- org.eclipse.fx.ui.panes;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.property;version="3.0.0",
+ org.eclipse.fx.core.text;version="3.0.0",
+ org.eclipse.fx.ui.panes;version="3.0.0",
org.osgi.service.component.annotations;resolution:=optional
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FXMLNodeProvider.xml b/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FXMLNodeProvider.xml
new file mode 100644
index 0000000..1d2a0dc
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FXMLNodeProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.ui.controls.image.internal.FXMLNodeProvider">
+ <service>
+ <provide interface="org.eclipse.fx.ui.controls.image.GraphicNodeProvider"/>
+ </service>
+ <implementation class="org.eclipse.fx.ui.controls.image.internal.FXMLNodeProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FontGraphicNodeProvider.xml b/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FontGraphicNodeProvider.xml
new file mode 100644
index 0000000..f253dad
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.FontGraphicNodeProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.ui.controls.image.internal.FontGraphicNodeProvider">
+ <service>
+ <provide interface="org.eclipse.fx.ui.controls.image.GraphicNodeProvider"/>
+ </service>
+ <implementation class="org.eclipse.fx.ui.controls.image.internal.FontGraphicNodeProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.ImageClipNodeProvider.xml b/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.ImageClipNodeProvider.xml
new file mode 100644
index 0000000..dc6ffd6
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/OSGI-INF/services/org.eclipse.fx.ui.controls.image.internal.ImageClipNodeProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.fx.ui.controls.image.internal.ImageClipNodeProvider">
+ <service>
+ <provide interface="org.eclipse.fx.ui.controls.image.GraphicNodeProvider"/>
+ </service>
+ <implementation class="org.eclipse.fx.ui.controls.image.internal.ImageClipNodeProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/pom.xml b/bundles/runtime/org.eclipse.fx.ui.controls/pom.xml
index 8e802f7..d06be6d 100755
--- a/bundles/runtime/org.eclipse.fx.ui.controls/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/Util.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/Util.java
index 97821a2..c059898 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/Util.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/Util.java
@@ -274,6 +274,7 @@
* @param <E>
* the source type
* @return the subscription to dispose the binding
+ * @deprecated use {@link FXObservableUtils#bindContent(List, ObservableList, Function)}
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static <T, E> Subscription bindContent(List<T> target, ObservableList<E> sourceList, Function<E, T> converterFunction) {
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/GraphicDecorator.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/GraphicDecorator.java
index cc706c1..08fbb81 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/GraphicDecorator.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/GraphicDecorator.java
@@ -115,18 +115,17 @@
}
private static void updatePseudoState(Label statusIcon, Status status) {
- statusIcon.pseudoClassStateChanged(error, status.getState() == State.ERROR);
- statusIcon.pseudoClassStateChanged(warning, status.getState() == State.WARNING);
- statusIcon.pseudoClassStateChanged(ok, status.getState() == State.OK);
- statusIcon.pseudoClassStateChanged(cancel, status.getState() == State.CANCEL);
+ statusIcon.pseudoClassStateChanged(error, status != null && status.getState() == State.ERROR);
+ statusIcon.pseudoClassStateChanged(warning, status != null && status.getState() == State.WARNING);
+ statusIcon.pseudoClassStateChanged(ok, status == null || status.getState() == State.OK);
+ statusIcon.pseudoClassStateChanged(cancel, status != null && status.getState() == State.CANCEL);
statusIcon.autosize();
if( statusIcon.getTooltip() == null ) {
- if( status.getState() != State.OK ) {
+ if( status != null && status.getState() != State.OK ) {
statusIcon.setTooltip(new Tooltip(status.getMessage()));
}
-
} else {
- statusIcon.getTooltip().setText(status.getMessage());
+ statusIcon.getTooltip().setText(status == null ? "" : status.getMessage()); //$NON-NLS-1$
}
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/NodeDecorator.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/NodeDecorator.java
index 55d5aff..bd2f5db 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/NodeDecorator.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/form/NodeDecorator.java
@@ -1,8 +1,10 @@
package org.eclipse.fx.ui.controls.form;
+import org.eclipse.fx.core.Status;
import org.eclipse.fx.core.Util;
import org.eclipse.fx.core.property.ValidationStatusPropertyOwner;
+import javafx.beans.value.ObservableValue;
import javafx.scene.Node;
public interface NodeDecorator {
@@ -23,4 +25,10 @@
public static void apply(NodeDecorator decorator, Node control, ValidationStatusPropertyOwner statusOwner) {
apply(decorator, control).statusProperty().bind(statusOwner.statusProperty());
}
+
+ public static DecoratedNode apply(Node control, ObservableValue<Status> property) {
+ DecoratedNode decoratedNode = apply(control);
+ decoratedNode.statusProperty().bind(property);
+ return decoratedNode;
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/GraphicNode.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/GraphicNode.java
new file mode 100644
index 0000000..689e03f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/GraphicNode.java
@@ -0,0 +1,159 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.fx.core.Util;
+import org.eclipse.fx.ui.controls.image.ImageCache.CachedImage;
+
+import javafx.beans.property.ObjectProperty;
+import javafx.beans.property.SimpleObjectProperty;
+import javafx.css.CssMetaData;
+import javafx.css.ParsedValue;
+import javafx.css.SimpleStyleableObjectProperty;
+import javafx.css.StyleConverter;
+import javafx.css.Styleable;
+import javafx.css.StyleableProperty;
+import javafx.scene.Node;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.Region;
+import javafx.scene.layout.StackPane;
+import javafx.scene.text.Font;
+
+/**
+ * A node who can display graphics and delegates to {@link GraphicNodeProvider}
+ * to create the graphic
+ *
+ * @since 3.0
+ */
+public class GraphicNode extends StackPane {
+ static class CustomProtocolConverter extends StyleConverter<Object, String> {
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public String convert(ParsedValue<Object, String> value, Font font) {
+ if (value.getValue() instanceof String) {
+ String valueString = value.getValue().toString();
+ return valueString;
+ } else {
+ return StyleConverter.getUrlConverter().convert((ParsedValue<ParsedValue[], String>) (ParsedValue<?, String>) value, font);
+ }
+ }
+ }
+
+ private static CustomProtocolConverter CONVERTER = new CustomProtocolConverter();
+
+ static final CssMetaData<GraphicNode, String> GRAPHIC = new CssMetaData<GraphicNode, String>("-fx-graphic", CONVERTER) { //$NON-NLS-1$
+
+ @Override
+ public boolean isSettable(GraphicNode n) {
+ return n.graphic == null || !n.graphic.isBound();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public StyleableProperty<String> getStyleableProperty(GraphicNode n) {
+ return (StyleableProperty<String>) n.graphicProperty();
+ }
+ };
+
+ ObjectProperty<String> graphic;
+ ObjectProperty<Node> graphicNode = new SimpleObjectProperty<>(this, "graphicNode"); //$NON-NLS-1$
+
+ private static List<GraphicNodeProvider> NODE_PROVIDER_LIST = new ArrayList<>();
+
+ static {
+ NODE_PROVIDER_LIST = Util.lookupServiceList(GraphicNode.class, GraphicNodeProvider.class);
+ }
+
+ /**
+ * Create a new graphic node
+ */
+ public GraphicNode() {
+ getStyleClass().add("graphic-node"); //$NON-NLS-1$
+
+ if (this.graphicNode.get() != null) {
+ getChildren().setAll(this.graphicNode.get());
+ }
+ this.graphicNode.addListener((o, ol, ne) -> {
+ if (ne == null) {
+ getChildren().clear();
+ } else {
+ getChildren().setAll(ne);
+ }
+ });
+ }
+
+ /**
+ * @return the graphic url property
+ */
+ public final ObjectProperty<String> graphicProperty() {
+ if (this.graphic == null) {
+ this.graphic = new SimpleStyleableObjectProperty<String>(GRAPHIC, this, "graphic", null); //$NON-NLS-1$
+ this.graphic.addListener((o, ol, ne) -> {
+ if (ne != null) {
+ CachedImage cachedImage = null;
+ if (this.graphicNode.get() instanceof ImageView) {
+ Image img = ((ImageView) this.graphicNode.get()).getImage();
+ if (img instanceof CachedImage) {
+ cachedImage = (CachedImage) img;
+ }
+ }
+ this.graphicNode.set(NODE_PROVIDER_LIST.stream().filter(np -> np.handles(ne)).findFirst().map(np -> np.getGraphicNode(ne)).orElseGet(() -> new ImageView(ImageCache.getInstance().getImage(ne))));
+
+ if (cachedImage != null) {
+ cachedImage.releaseLazy();
+ }
+ } else {
+ this.graphicNode.set(null);
+ }
+ });
+ }
+ return this.graphic;
+ }
+
+ /**
+ * @return the graphic url
+ */
+ public final String getGraphic() {
+ return this.graphicProperty().get();
+ }
+
+ /**
+ * Set the graphic url
+ *
+ * @param graphic
+ * the graphic url
+ */
+ public final void setGraphic(final String graphic) {
+ this.graphicProperty().set(graphic);
+ }
+
+ static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;
+ static {
+ final List<CssMetaData<? extends Styleable, ?>> styleables = new ArrayList<CssMetaData<? extends Styleable, ?>>(Region.getClassCssMetaData());
+ Collections.addAll(styleables, GRAPHIC);
+ STYLEABLES = Collections.unmodifiableList(styleables);
+ }
+
+ public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData() {
+ return STYLEABLES;
+ }
+
+ @Override
+ public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
+ return getClassCssMetaData();
+ }
+
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/GraphicNodeProvider.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/GraphicNodeProvider.java
new file mode 100644
index 0000000..d75de78
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/GraphicNodeProvider.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+import javafx.scene.Node;
+
+/**
+ * Provider who translates a url into a node
+ *
+ * @since 3.0
+ */
+public interface GraphicNodeProvider {
+ /**
+ * @return the name
+ */
+ @NonNull
+ public String getName();
+
+ /**
+ * Check if the URL is handled
+ *
+ * @param url
+ * the url
+ * @return <code>true</code> if the URL is handled
+ */
+ public boolean handles(String url);
+
+ /**
+ * Load the graphic node
+ *
+ * @param uri
+ * the uri
+ * @return the node
+ */
+ @NonNull
+ public Node getGraphicNode(String uri);
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/ImageCache.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/ImageCache.java
new file mode 100644
index 0000000..85fc2e8
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/ImageCache.java
@@ -0,0 +1,125 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import javafx.scene.image.Image;
+
+/**
+ * A cache for images
+ */
+public class ImageCache {
+ private static final ImageCache INSTANCE = new ImageCache();
+
+ Map<String, CachedImage> cache = new HashMap<>();
+ List<CachedImage> lazyCleanup = new ArrayList<>();
+
+ static long MIN_LZAY_TIME = 10_000;
+
+ /**
+ * A cached image
+ */
+ public static class CachedImage extends Image {
+ private final ImageCache cache;
+ final String url;
+ int count;
+ long releaseTime;
+
+ CachedImage(ImageCache cache, String url) {
+ super(url);
+ this.url = url;
+ this.cache = cache;
+ }
+
+ /**
+ * release the image immediately
+ */
+ public void release() {
+ synchronized (this.cache) {
+ this.count -= 1;
+ if (this.count <= 0) {
+ this.cache.cache.remove(this.url);
+ this.cache.lazyCleanup.remove(this);
+ }
+ }
+ }
+
+ /**
+ * Schedule the image for release
+ */
+ public void releaseLazy() {
+ synchronized (this.cache) {
+ this.count -= 1;
+ if (this.count <= 0) {
+ this.releaseTime = System.currentTimeMillis();
+ this.cache.lazyCleanup.add(this);
+ }
+ }
+ }
+ }
+
+ /**
+ * Create a new cache instance
+ */
+ public ImageCache() {
+ TimerTask t = new TimerTask() {
+
+ @Override
+ public void run() {
+ long time = System.currentTimeMillis();
+ synchronized (ImageCache.this) {
+ if (!ImageCache.this.lazyCleanup.isEmpty()) {
+ ImageCache.this.lazyCleanup.removeIf(e -> e.count > 0);
+
+ ImageCache.this.lazyCleanup.stream().filter(e -> e.releaseTime + MIN_LZAY_TIME < time).map(e -> e.url).forEach(e -> {
+ ImageCache.this.cache.remove(e);
+ });
+ ImageCache.this.lazyCleanup.removeIf(e -> e.releaseTime + MIN_LZAY_TIME < time);
+ }
+ }
+ }
+ };
+ Timer tt = new Timer(true);
+ tt.scheduleAtFixedRate(t, 0, 5000);
+ }
+
+ /**
+ * @return get a single instance
+ */
+ public static ImageCache getInstance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Get a cached image instance
+ *
+ * @param url
+ * the url
+ * @return the image
+ */
+ public synchronized CachedImage getImage(String url) {
+ CachedImage img = this.cache.get(url);
+
+ if (img == null) {
+ img = new CachedImage(this, url);
+ this.cache.put(url, img);
+ }
+
+ img.count++;
+ return img;
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/ImageClipNode.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/ImageClipNode.java
new file mode 100644
index 0000000..6aabe40
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/ImageClipNode.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image;
+
+import java.util.List;
+
+import org.eclipse.fx.ui.controls.image.ImageCache.CachedImage;
+
+import javafx.beans.value.ObservableValue;
+import javafx.css.CssMetaData;
+import javafx.css.Styleable;
+import javafx.css.StyleableProperty;
+import javafx.css.StyleablePropertyFactory;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.StackPane;
+
+/**
+ * Node who is clipped by the provided image
+ *
+ * @since 3.0
+ */
+public class ImageClipNode extends StackPane {
+ private static StyleablePropertyFactory<ImageClipNode> FACTORY = new StyleablePropertyFactory<>(StackPane.getClassCssMetaData());
+
+ private final StyleableProperty<String> clipIconUrl = FACTORY.createStyleableUrlProperty(this, "clipIconUrl", "-clip-icon-url", s -> s.clipIconUrl); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * Create a new clip node
+ */
+ public ImageClipNode() {
+ getStyleClass().add("image-clip-node"); //$NON-NLS-1$
+ ImageView view = new ImageView();
+ clipIconUrlProperty().addListener((o, ol, ne) -> {
+ CachedImage cachedImage = null;
+ Image img = view.getImage();
+ if (img instanceof CachedImage) {
+ cachedImage = (CachedImage) img;
+ }
+
+ if (ne != null) {
+// ImageView view_ = new ImageView();
+ CachedImage image = ImageCache.getInstance().getImage(ne);
+ view.setImage(image);
+ setPrefSize(image.getWidth(), image.getHeight());
+ setMinSize(image.getWidth(), image.getHeight());
+ setMaxSize(image.getWidth(), image.getHeight());
+// setClip(view_);
+ }
+
+ if (cachedImage != null) {
+ cachedImage.releaseLazy();
+ }
+ });
+ setClip(view);
+ }
+
+ /**
+ * @return the url for clip icon property
+ */
+ @SuppressWarnings("unchecked")
+ public ObservableValue<String> clipIconUrlProperty() {
+ return (ObservableValue<String>) this.clipIconUrl;
+ }
+
+ /**
+ * @return the clip icon url
+ */
+ public final String getClipIconUrl() {
+ return this.clipIconUrl.getValue();
+ }
+
+ /**
+ * Set the clip icon url
+ *
+ * @param clipIconUrl
+ * the url
+ */
+ public final void setClipIconUrl(String clipIconUrl) {
+ this.clipIconUrl.setValue(clipIconUrl);
+ }
+
+ @Override
+ public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
+ return FACTORY.getCssMetaData();
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/FXMLNodeProvider.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/FXMLNodeProvider.java
new file mode 100644
index 0000000..ed03b32
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/FXMLNodeProvider.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image.internal;
+
+import java.io.IOException;
+
+import org.eclipse.fx.core.Util;
+import org.eclipse.fx.ui.controls.image.GraphicNodeProvider;
+import org.eclipse.jdt.annotation.NonNull;
+import org.osgi.service.component.annotations.Component;
+
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+
+/**
+ * FXML Graphic node provider
+ *
+ * @since 3.0
+ */
+@Component
+public class FXMLNodeProvider implements GraphicNodeProvider {
+
+ @Override
+ public @NonNull String getName() {
+ return "FXML Node Provider"; //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean handles(String url) {
+ return url.endsWith(".fxml"); //$NON-NLS-1$
+ }
+
+ @Override
+ public @NonNull Node getGraphicNode(String uri) {
+ FXMLLoader l = new FXMLLoader();
+ l.setLocation(Util.createUrl(uri));
+ try {
+ return l.load();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/FontGraphicNodeProvider.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/FontGraphicNodeProvider.java
new file mode 100644
index 0000000..af6b426
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/FontGraphicNodeProvider.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image.internal;
+
+import org.eclipse.fx.ui.controls.image.FontIconView;
+import org.eclipse.fx.ui.controls.image.GraphicNodeProvider;
+import org.eclipse.jdt.annotation.NonNull;
+import org.osgi.service.component.annotations.Component;
+
+import javafx.scene.Node;
+
+/**
+ * Font graphic
+ */
+@Component
+public class FontGraphicNodeProvider implements GraphicNodeProvider {
+
+ @Override
+ public @NonNull String getName() {
+ return "FontGraphic"; //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean handles(String url) {
+ return url.startsWith("font:"); //$NON-NLS-1$
+ }
+
+ @Override
+ public @NonNull Node getGraphicNode(String uri) {
+ FontIconView v = new FontIconView();
+ v.getStyleClass().add(uri.substring("font:".length())); //$NON-NLS-1$
+ return v;
+ }
+
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/ImageClipNodeProvider.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/ImageClipNodeProvider.java
new file mode 100644
index 0000000..4daff4b
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/image/internal/ImageClipNodeProvider.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.controls.image.internal;
+
+import org.eclipse.fx.ui.controls.image.GraphicNodeProvider;
+import org.eclipse.fx.ui.controls.image.ImageClipNode;
+import org.eclipse.jdt.annotation.NonNull;
+import org.osgi.service.component.annotations.Component;
+
+import javafx.scene.Node;
+
+/**
+ * Image clip node provider
+ *
+ * @since 3.0
+ */
+@Component
+public class ImageClipNodeProvider implements GraphicNodeProvider {
+
+ @Override
+ public @NonNull String getName() {
+ return "Image Clip"; //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean handles(String url) {
+ return url.startsWith("image-clip:"); //$NON-NLS-1$
+ }
+
+ @Override
+ public @NonNull Node getGraphicNode(String uri) {
+ ImageClipNode node = new ImageClipNode();
+ node.getStyleClass().add(uri.substring("image-clip:".length())); //$NON-NLS-1$
+ return node;
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/list/ListComboUtil.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/list/ListComboUtil.java
index bcab9f4..fec18a0 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/list/ListComboUtil.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/list/ListComboUtil.java
@@ -17,12 +17,14 @@
import javafx.beans.binding.StringExpression;
import javafx.collections.ObservableList;
+import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
+import javafx.util.StringConverter;
/**
- * Utility to set up a {@link ComboBox} and {@link ListView}
+ * Utility to set up a {@link ComboBox} and {@link ListView} and {@link ChoiceBox}
*
* @since 2.3.0
*/
@@ -46,6 +48,25 @@
}
/**
+ * Setup a choice box
+ *
+ * @param choiceBox
+ * the choice box
+ * @param items
+ * the items
+ * @param labelExtractor
+ * function to extract the label
+ * @return the choice box passed in
+ *
+ * @since 2.4.0
+ */
+ public static <T> ChoiceBox<T> setupChoiceBox(ChoiceBox<T> choiceBox, ObservableList<T> items, @NonNull StringConverter<T> labelExtractor) {
+ choiceBox.setConverter(labelExtractor);
+ choiceBox.setItems(items);
+ return choiceBox;
+ }
+
+ /**
* Setup a list
*
* @param listView
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/DefaultTrimmedWindowPane.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/DefaultTrimmedWindowPane.java
index 4212a43..2d46a07 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/DefaultTrimmedWindowPane.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/DefaultTrimmedWindowPane.java
@@ -368,7 +368,7 @@
maxButton.setFocusTraversable(false);
maxButton.setOnAction(e -> maximize());
- HBox windowBtns = new HBox(3);
+ HBox windowBtns = new HBox();
windowBtns.getStyleClass().add("window-buttons"); //$NON-NLS-1$
windowBtns.getChildren().addAll(this.minButton, maxButton, closeButton);
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/window.css b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/window.css
index c483b19..43a3df9 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/window.css
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/stage/window.css
@@ -74,6 +74,7 @@
.default-window .window-buttons {
-fx-padding: 6 0 0 0;
+ -fx-spacing: 3;
}
.default-window .window-button:pressed {
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/TextGrid.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/TextGrid.java
new file mode 100644
index 0000000..c6732da
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/TextGrid.java
@@ -0,0 +1,272 @@
+package org.eclipse.fx.ui.controls.styledtext;
+
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import org.eclipse.fx.ui.controls.styledtext.StyledTextContent.TextChangeListener;
+
+import javafx.application.Application;
+import javafx.beans.Observable;
+import javafx.beans.property.DoubleProperty;
+import javafx.beans.property.SimpleDoubleProperty;
+import javafx.geometry.Orientation;
+import javafx.scene.Scene;
+import javafx.scene.control.ScrollBar;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.StackPane;
+import javafx.scene.text.Font;
+import javafx.scene.text.Text;
+import javafx.stage.Stage;
+
+class TextGrid extends BorderPane {
+ private StyledTextContent content = new DefaultContent();
+
+ public TextGrid() {
+ ContentLayer grid = new ContentLayer(this);
+ setCenter(grid);
+
+ ScrollBar vScroll = new ScrollBar();
+ vScroll.maxProperty().bind(grid.virtualHeight);
+ vScroll.valueProperty().addListener(e -> {
+ grid.setVShift(vScroll.getValue());
+ });
+ vScroll.setOrientation(Orientation.VERTICAL);
+ setRight(vScroll);
+
+ ScrollBar hScroll = new ScrollBar();
+ hScroll.maxProperty().bind(grid.virtualWidth);
+ hScroll.valueProperty().addListener( e -> {
+ grid.setHShift(hScroll.getValue());
+ });
+ setBottom(hScroll);
+ }
+
+ public void setText(String text) {
+ content.setText(text);
+ }
+
+ private static class ContentLayer extends StackPane {
+ private Text[][] textGrid = new Text[0][0] ;
+ private Text calcNode;
+ private int columnOffset;
+ private int rowOffset;
+
+ private DoubleProperty virtualHeight = new SimpleDoubleProperty(100);
+ private DoubleProperty virtualWidth = new SimpleDoubleProperty(100);
+ private int longestLine;
+ private double totalHeight;
+ private final TextGrid container;
+
+ Font font = Font.font("Monospace", 13);
+
+ public ContentLayer(TextGrid container) {
+ this.container = container;
+ this.calcNode = new Text("m");
+ this.calcNode.setFont(font);
+ this.calcNode.setManaged(false);
+ getChildren().add(this.calcNode);
+ widthProperty().addListener(this::handleWidthChange);
+ heightProperty().addListener(this::handleHeightChange);
+ container.content.addTextChangeListener( new TextChangeListener() {
+
+ @Override
+ public void textChanged(TextChangedEvent event) {
+ update();
+ }
+
+ @Override
+ public void textSet(TextChangedEvent event) {
+ update();
+ }
+
+ @Override
+ public void textChanging(TextChangingEvent event) {
+ update();
+ }
+
+ private void update() {
+ totalHeight = 0;
+ longestLine = 0;
+ for( int i = 0; i < container.content.getLineCount(); i++ ) {
+ totalHeight += getTextHeight();
+ longestLine = Math.max(longestLine, container.content.getLine(i).length());
+ }
+
+ if( textGrid.length > 0 ) {
+ virtualWidth.set(longestLine * getTextWidth() - textGrid[0].length * getTextWidth() );
+ }
+ virtualHeight.set(totalHeight - (textGrid.length - 2) * getTextHeight());
+ }
+ });
+ }
+
+ private Text[] allocate(int amount) {
+ Text[] rv = new Text[amount];
+ for( int i = 0; i < amount; i++ ) {
+ rv[i] = new Text();
+ rv[i].setFont(font);
+ rv[i].setManaged(false);
+ }
+ getChildren().addAll(rv);
+ return rv;
+ }
+
+ private void deallocate(Text... texts) {
+ getChildren().removeAll(texts);
+ }
+
+ private int getTextWidth() {
+ return (int) Math.ceil(this.calcNode.getLayoutBounds().getWidth());
+ }
+
+ private int getTextHeight() {
+ return (int) Math.ceil(this.calcNode.getLayoutBounds().getHeight());
+ }
+
+ private void handleWidthChange(Observable o, Number ol, Number ne) {
+ this.calcNode.autosize();
+ double s = getTextWidth();
+
+ int textCount = (int)Math.ceil(getWidth() / s) + 2;
+
+ if( this.textGrid.length == 0) {
+ this.textGrid = new Text[1][0];
+ this.textGrid[0] = allocate(textCount);
+ } else {
+ int length = this.textGrid[0].length;
+ if(length < textCount ) {
+ int delta = textCount - length;
+ for( int i = 0; i < this.textGrid.length; i++ ) {
+ Text[] newLine = new Text[textCount];
+ System.arraycopy(this.textGrid[i], 0, newLine, 0, this.textGrid[i].length);
+ System.arraycopy(allocate(delta),0,newLine,length,delta);
+ this.textGrid[i] = newLine;
+ }
+ } else if( length > textCount ) {
+ int delta = length - textCount;
+ for( int i = 0; i < this.textGrid.length; i++ ) {
+ Text[] newLine = new Text[textCount];
+ System.arraycopy(this.textGrid[i], 0, newLine, 0, textCount);
+ Text[] cleanup = new Text[delta];
+ for( int j = 0; j < delta; j++ ) {
+ cleanup[j] = this.textGrid[i][textCount+j];
+ }
+ deallocate(cleanup);
+ this.textGrid[i] = newLine;
+ }
+ }
+ }
+
+ fixContent();
+
+ virtualWidth.set(longestLine * getTextWidth() - textGrid[0].length * getTextWidth() );
+ }
+
+ private void handleHeightChange(Observable o, Number ol, Number ne) {
+ this.calcNode.autosize();
+ double s = Math.ceil(this.calcNode.getLayoutBounds().getHeight());
+
+ int textCount = (int)Math.ceil(getHeight() / s) + 2;
+
+ if( this.textGrid.length == 0) {
+ this.textGrid = new Text[textCount][0];
+ } else if(this.textGrid.length < textCount ) {
+ int delta = textCount - this.textGrid.length;
+ Text[][] newGrid = new Text[textCount][this.textGrid[0].length];
+ for( int i = 0; i < this.textGrid.length; i++ ) {
+ System.arraycopy(this.textGrid[i], 0, newGrid[i], 0, this.textGrid[i].length);
+ }
+
+ for( int i = 0; i < delta; i++ ) {
+ newGrid[this.textGrid.length+i] = allocate(this.textGrid[0].length);
+ }
+ this.textGrid = newGrid;
+ } else if( this.textGrid.length > textCount ) {
+ int delta = this.textGrid.length - textCount;
+ Text[][] newGrid = new Text[textCount][this.textGrid[0].length];
+ for( int i = 0; i < textCount; i++ ) {
+ System.arraycopy(this.textGrid[i], 0, newGrid[i], 0, this.textGrid[0].length);
+ }
+ for( int i = 0; i < delta; i++ ) {
+ deallocate(this.textGrid[textCount+i]);
+ }
+ this.textGrid = newGrid;
+ }
+
+ fixContent();
+ virtualHeight.set(totalHeight - (textGrid.length - 2) * getTextHeight());
+ }
+
+ private void fixContent() {
+ for( int r = 0; r < this.textGrid.length; r++ ) {
+ int row = r + this.rowOffset;
+ for( int c = 0; c < this.textGrid[r].length; c++ ) {
+ if( row < container.content.getLineCount() ) {
+ String l = container.content.getLine(row);
+ int col = c + this.columnOffset;
+ if( col < l.length() ) {
+ this.textGrid[r][c].setText(String.valueOf(l.charAt(col)));
+ } else {
+ this.textGrid[r][c].setText(""); //$NON-NLS-1$
+ }
+ } else {
+ this.textGrid[r][c].setText(""); //$NON-NLS-1$
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void layoutChildren() {
+ super.layoutChildren();
+ int y = 0;
+ for( int r = 0; r < this.textGrid.length; r++ ) {
+ int x = 0;
+ for( int c = 0; c < this.textGrid[r].length; c++ ) {
+ this.textGrid[r][c].relocate(x, y);
+ x += getTextWidth();
+ }
+ y += Math.ceil(this.calcNode.getLayoutBounds().getHeight());
+ }
+ }
+
+ public void setHShift(double value) {
+ int width = (int)getTextWidth();
+ double v = value % width;
+ setTranslateX(v*-1);
+ int columnOffset = (int)(value / width);
+ if( columnOffset != this.columnOffset ) {
+ this.columnOffset = columnOffset;
+ fixContent();
+ }
+ }
+
+ public void setVShift(double value) {
+ int height = (int) Math.ceil(this.calcNode.getLayoutBounds().getHeight());
+ double v = value % height;
+ setTranslateY(v*-1);
+ int rowOffset = (int)(value / height);
+ if( rowOffset != this.rowOffset ) {
+ this.rowOffset = rowOffset;
+ fixContent();
+ }
+ }
+ }
+
+
+ public static void main(String[] args) {
+ Application.launch(MyApplication.class, args);
+ }
+
+ public static class MyApplication extends Application {
+
+ @Override
+ public void start(Stage primaryStage) throws Exception {
+ TextGrid grid = new TextGrid();
+ grid.setText(new String( Files.readAllBytes(Paths.get("/Users/tomschindl/dart-samples/Grid.java")) ));
+ primaryStage.setScene(new Scene(grid, 500, 500));
+ primaryStage.show();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/behavior/StyledTextBehavior.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/behavior/StyledTextBehavior.java
index d7a9ce9..6c95555 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/behavior/StyledTextBehavior.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/behavior/StyledTextBehavior.java
@@ -348,6 +348,10 @@
}
private void onTextPositionDragDetected(TextPositionEvent event) {
+ if( event.getButton() != MouseButton.PRIMARY ) {
+ return;
+ }
+
if (this.pressedInSelection) {
if( org.eclipse.fx.ui.controls.Util.isCopyEvent(event) ) {
getControl().pseudoClassStateChanged(DRAG_TEXT_COPY_ACTIVE_PSEUDOCLASS_STATE, true);
@@ -432,35 +436,36 @@
// read text
@NonNull
String text = getControl().getContent().getTextRange(this.dragMoveTextOffset, this.dragMoveTextLength);
+ if( getControl().getEditable() ) {
- // notify the undo implementation that a compund change occurs
- getControl().fireEvent(UndoHintEvent.createBeginCompoundChangeEvent());
- try {
- if( ! org.eclipse.fx.ui.controls.Util.isCopyEvent(event) ) {
- // replace
- if (isInRange(targetOffset, this.dragMoveTextOffset, this.dragMoveTextLength)) {
- targetOffset = this.dragMoveTextOffset;
- }
- // after
- else if (targetOffset >= this.dragMoveTextOffset + this.dragMoveTextLength) {
- targetOffset -= this.dragMoveTextLength;
+ // notify the undo implementation that a compund change occurs
+ getControl().fireEvent(UndoHintEvent.createBeginCompoundChangeEvent());
+ try {
+ if( ! org.eclipse.fx.ui.controls.Util.isCopyEvent(event) ) {
+ // replace
+ if (isInRange(targetOffset, this.dragMoveTextOffset, this.dragMoveTextLength)) {
+ targetOffset = this.dragMoveTextOffset;
+ }
+ // after
+ else if (targetOffset >= this.dragMoveTextOffset + this.dragMoveTextLength) {
+ targetOffset -= this.dragMoveTextLength;
+ }
+
+ // remove
+ getControl().getContent().replaceTextRange(this.dragMoveTextOffset, this.dragMoveTextLength, ""); //$NON-NLS-1$
}
- // remove
- getControl().getContent().replaceTextRange(this.dragMoveTextOffset, this.dragMoveTextLength, ""); //$NON-NLS-1$
+ // insert
+ getControl().getContent().replaceTextRange(targetOffset, 0, text);
+
+ // move caret to end of insertion and select the text
+ moveCaretAbsolute(targetOffset + text.length());
+ getControl().setSelection(new TextSelection(targetOffset, text.length()));
}
-
- // insert
- getControl().getContent().replaceTextRange(targetOffset, 0, text);
-
- // move caret to end of insertion and select the text
- moveCaretAbsolute(targetOffset + text.length());
- getControl().setSelection(new TextSelection(targetOffset, text.length()));
+ finally {
+ getControl().fireEvent(UndoHintEvent.createEndCompoundChangeEvent());
+ }
}
- finally {
- getControl().fireEvent(UndoHintEvent.createEndCompoundChangeEvent());
- }
-
this.dragMoveTextMode = false;
event.consume();
@@ -600,6 +605,10 @@
}
protected boolean defaultHandle(TextEditAction action, Context context) {
+ if( ! getControl().getEditable() && action.isModification() ) {
+ return true;
+ }
+
if (action == DefaultTextEditActions.TEXT_START) {
defaultNavigateTextStart();
return true;
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/skin/StyledTextSkin.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/skin/StyledTextSkin.java
index 1888d1d..29f2adb 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/skin/StyledTextSkin.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/skin/StyledTextSkin.java
@@ -139,7 +139,7 @@
styledText.caretOffsetProperty().addListener((obs, ol, ne) -> {
int lineIdx = styledText.getContent().getLineAtOffset(ne.intValue());
int colIdx = ne.intValue() - styledText.getContent().getOffsetAtLine(lineIdx);
-
+
// fix colIdx with tabs
String line = styledText.getContent().getLine(lineIdx).substring(0, colIdx);
int tabCount = (int)line.chars().filter(c -> c == '\t').count();
@@ -175,7 +175,7 @@
this.content.styleProperty().bind(zoomedFontStyle);
this.lineRulerArea.styleProperty().bind(zoomedFontStyle);
-
+
getSkinnable().fontZoomFactorProperty().addListener((x, o, n)->{
this.sortedLineRulerFlows.forEach(LineRuler::requestLayout);
});
@@ -210,7 +210,9 @@
this.content.getStyleClass().addAll(CSS_LIST_VIEW);
this.content.addEventHandler(ContextMenuEvent.CONTEXT_MENU_REQUESTED, e -> {
- getSkinnable().getContextMenu().show(this.content, e.getScreenX(), e.getScreenY());
+ if( getSkinnable().getContextMenu() != null ) {
+ getSkinnable().getContextMenu().show(this.content, e.getScreenX(), e.getScreenY());
+ }
});
// focus delegation
@@ -321,11 +323,11 @@
BiConsumer<Node, Set<Annotation>> populator = ap::updateNode;
LineRuler flow = new LineRuler(ap.getLayoutHint(), converter, needsPresentation, nodeFactory, populator);
-
+
flow.getStyleClass().setAll(CSS_CLASS_LINE_RULER);
// add the styleclass from the provider
ap.getStyleClass().ifPresent(flow.getStyleClass()::add);
-
+
// VerticalLineFlow<Integer, Annotation> flow = new
// VerticalLineFlow<Integer, Annotation>(converter,
// needsPresentation, nodeFactory, populator);
@@ -437,7 +439,7 @@
updateInsertionMarkerIndex(-1);
e.consume();
});
-
+
this.content.setOnDragOver(e -> {
Point2D coords = new Point2D(e.getX(), e.getY());
Optional<Integer> lineIndex = this.content.getLineIndex(coords);
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.databinding/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.databinding/META-INF/MANIFEST.MF
index 0971025..57a0892 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/META-INF/MANIFEST.MF
@@ -2,13 +2,16 @@
Bundle-ManifestVersion: 2
Bundle-Name: Databinding
Bundle-SymbolicName: org.eclipse.fx.ui.databinding
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.databinding.observable;bundle-version="1.4.1",
org.eclipse.core.databinding.property,
org.eclipse.core.databinding,
- org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.ui.databinding;version="2.6.0",
- org.eclipse.fx.ui.databinding.converters;version="2.6.0"
+ org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional,
+ org.eclipse.equinox.common;bundle-version="3.7.0"
+Export-Package: org.eclipse.fx.ui.databinding;version="3.0.0",
+ org.eclipse.fx.ui.databinding.converters;version="3.0.0"
Bundle-Vendor: Eclipse.org
-Import-Package: org.eclipse.fx.core.databinding;version="2.6.0"
+Import-Package: org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.databinding;version="3.0.0",
+ org.eclipse.fx.ui.controls.form;version="3.0.0"
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/pom.xml b/bundles/runtime/org.eclipse.fx.ui.databinding/pom.xml
index 0480e6d..2c4492e 100755
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/BindingSupport.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/BindingSupport.java
new file mode 100644
index 0000000..bf81af8
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/BindingSupport.java
@@ -0,0 +1,97 @@
+///*******************************************************************************
+// * Copyright (c) 2016 BestSolution.at and others.
+// * All rights reserved. This program and the accompanying materials
+// * are made available under the terms of the Eclipse Public License v1.0
+// * which accompanies this distribution, and is available at
+// * http://www.eclipse.org/legal/epl-v10.html
+// *
+// * Contributors:
+// * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+// *******************************************************************************/
+//package org.eclipse.fx.ui.databinding;
+//
+//import org.eclipse.core.databinding.Binding;
+//import org.eclipse.core.databinding.DataBindingContext;
+//import org.eclipse.core.databinding.observable.value.IObservableValue;
+//import org.eclipse.core.databinding.observable.value.WritableValue;
+//import org.eclipse.core.runtime.IStatus;
+//import org.eclipse.fx.core.Status;
+//import org.eclipse.fx.core.Status.State;
+//import org.eclipse.fx.ui.controls.form.DecoratedNode;
+//import org.eclipse.fx.ui.controls.form.NodeDecorator;
+//
+//import javafx.scene.Node;
+//
+///**
+// * Support utility to remove boilderplate code when binding values
+// */
+//@SuppressWarnings("restriction")
+//public class BindingSupport<T> {
+// public static Binding decorate(Node node, Binding binding) {
+// DecoratedNode decoratedNode = NodeDecorator.apply(node);
+// binding.getValidationStatus().addValueChangeListener( d -> {
+// IStatus s = (IStatus) d.diff.getNewValue();
+// if( s.isOK() ) {
+// decoratedNode.setStatus(Status.ok());
+// } else {
+// State st = State.OK;
+// switch (s.getSeverity()) {
+// case IStatus.CANCEL:
+// st = State.CANCEL;
+// break;
+// case IStatus.ERROR:
+// st = State.ERROR;
+// break;
+// case IStatus.WARNING:
+// st = State.WARNING;
+// break;
+// case IStatus.INFO:
+// case IStatus.OK:
+// st = State.OK;
+// break;
+// default:
+// break;
+// }
+// decoratedNode.setStatus(
+// Status.status(st, s.getCode(), s.getMessage(), s.getException()));
+// }
+// });
+// return binding;
+// }
+//
+//// private final DataBindingContext context;
+//// private final IObservableValue master;
+////
+//// public BindingSupport(DataBindingContext context, Class<T> masterType) {
+//// this.context = context;
+//// this.master = new WritableValue(null, masterType);
+//// }
+////
+//// public BindingSupport(DataBindingContext context, IObservableValue masterValue) {
+//// this.context = context;
+//// this.master = masterValue;
+//// }
+//
+//// public BindingBuilder create(Node node) {
+//// return new BindingBuilder(this.context, node);
+//// }
+////
+//// public static class BindingBuilder {
+//// private final Node node;
+//// private final DataBindingContext context;
+////
+//// public BindingBuilder(DataBindingContext context, Node node) {
+//// this.context = context;
+//// this.node = node;
+//// }
+////
+//// public BindingBuilder model(IObservableValue master) {
+////
+//// }
+////
+//// public Binding build() {
+////
+//// }
+//// }
+//
+//}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueObservable.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueObservable.java
index 16eb427..fa558fb 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueObservable.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueObservable.java
@@ -14,7 +14,10 @@
/**
* Base interface of all control observables
+ *
+ * @param <T>
+ * type of the value of the property
*/
-public interface IJFXControlValueObservable extends IObservableValue {
+public interface IJFXControlValueObservable<T> extends IObservableValue<T> {
// nothing to spec
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueProperty.java
index 5812e65..d82ad2a 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueProperty.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/IJFXControlValueProperty.java
@@ -10,26 +10,19 @@
*******************************************************************************/
package org.eclipse.fx.ui.databinding;
-import javafx.scene.Node;
-import javafx.scene.control.Control;
-
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.jdt.annotation.NonNull;
/**
* Base interface of control properties
+ *
+ * @param <S>
+ * type of the source object
+ * @param <T>
+ * type of the value of the property
*/
-public interface IJFXControlValueProperty extends IValueProperty {
- /**
- * Create an observable on the default realm
- *
- * @param control
- * the control
- * @return the observable
- */
- @NonNull
- public IJFXControlValueObservable observe(@NonNull Control control);
+public interface IJFXControlValueProperty<S, T> extends IValueProperty<S, T> {
/**
* Create an observable on the default realm
@@ -39,19 +32,9 @@
* @return the observable
* @since 2.4.0
*/
+ @Override
@NonNull
- public IJFXControlValueObservable observe(@NonNull Node control);
-
- /**
- * Create an observable on the given realm
- *
- * @param realm
- * the realm
- * @param control
- * the control
- * @return the observable
- */
- public IJFXControlValueObservable observe(@NonNull Realm realm, @NonNull Control control);
+ public IJFXControlValueObservable<T> observe(S control);
/**
* Create an observable on the given realm
@@ -63,19 +46,8 @@
* @return the observable
* @since 2.4.0
*/
- public IJFXControlValueObservable observe(@NonNull Realm realm, @NonNull Node control);
-
- /**
- * Create an observable who waits for the given delay until informing about
- * the change
- *
- * @param delay
- * the delay
- * @param control
- * the control
- * @return the observable
- */
- public IJFXControlValueObservable observeDelayed(int delay, @NonNull Control control);
+ @Override
+ public IJFXControlValueObservable<T> observe(Realm realm, S control);
/**
* Create an observable who waits for the given delay until informing about
@@ -88,5 +60,5 @@
* @return the observable
* @since 2.4.0
*/
- public IJFXControlValueObservable observeDelayed(int delay, @NonNull Node control);
+ public IJFXControlValueObservable<T> observeDelayed(int delay, S control);
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/JFXUIProperties.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/JFXUIProperties.java
index 4317a05..ca86f4d 100755
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/JFXUIProperties.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/JFXUIProperties.java
@@ -10,20 +10,23 @@
*******************************************************************************/
package org.eclipse.fx.ui.databinding;
-import javafx.scene.control.ComboBox;
-import javafx.scene.control.DatePicker;
-import javafx.scene.control.ListView;
-import javafx.scene.control.TableView;
-import javafx.scene.control.TreeTableView;
-import javafx.scene.control.TreeView;
+import java.time.LocalDate;
-import org.eclipse.fx.core.databinding.IJFXBeanValueProperty;
-import org.eclipse.fx.core.databinding.JFXBeanProperties;
-import org.eclipse.fx.ui.databinding.internal.DatePickerValueProperty;
+import org.eclipse.fx.ui.databinding.internal.DateValueProperty;
import org.eclipse.fx.ui.databinding.internal.SingleSelectionProperty;
import org.eclipse.fx.ui.databinding.internal.TextValueProperty;
import org.eclipse.jdt.annotation.NonNull;
+import javafx.scene.control.Cell;
+import javafx.scene.control.ComboBox;
+import javafx.scene.control.DatePicker;
+import javafx.scene.control.ListView;
+import javafx.scene.control.Tab;
+import javafx.scene.control.TableView;
+import javafx.scene.control.TextInputControl;
+import javafx.scene.control.TreeTableView;
+import javafx.scene.control.TreeView;
+
/**
* Factory to create JavaFX properties
*/
@@ -41,20 +44,44 @@
* @return the property
*/
@NonNull
- public static IJFXControlValueProperty singleViewSelection() {
- return new SingleSelectionProperty();
+ public static <@NonNull S,T> IJFXControlValueProperty<S,T> singleViewSelection() {
+ return new SingleSelectionProperty<>();
}
/**
- * Create a property for the text-property of a javafx bean
- *
- * @return the text property
- * @deprecated use {@link #text2()}
+ * @return single selection property for {@link ListView}
+ * @since 3.0.0
*/
@NonNull
- @Deprecated
- public static IJFXBeanValueProperty text() {
- return JFXBeanProperties.value("text"); //$NON-NLS-1$
+ public static <T> IJFXControlValueProperty<ListView<T>,T> singleListViewSelection() {
+ return new SingleSelectionProperty<>();
+ }
+
+ /**
+ * @return single selection property for {@link ComboBox}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static <T> IJFXControlValueProperty<ComboBox<T>,T> singleComboBoxSelection() {
+ return new SingleSelectionProperty<>();
+ }
+
+ /**
+ * @return single selection property for {@link TreeView}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static <T> IJFXControlValueProperty<TreeTableView<T>,T> singleTreeTableViewSelection() {
+ return new SingleSelectionProperty<>();
+ }
+
+ /**
+ * @return single selection property for {@link TreeView}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static <T> IJFXControlValueProperty<TreeView<T>,T> singleTreeViewSelection() {
+ return new SingleSelectionProperty<>();
}
/**
@@ -64,8 +91,53 @@
* @since 2.4.0
*/
@NonNull
- public static IJFXControlValueProperty text2() {
- return new TextValueProperty();
+ public static <@NonNull S> IJFXControlValueProperty<S,String> text() {
+ return new TextValueProperty<>();
+ }
+
+ /**
+ * @return text property for an {@link Object} who has a property named "text"
+ * @since 3.0.0
+ */
+ @NonNull
+ public static IJFXControlValueProperty<Object,String> anyText() {
+ return new TextValueProperty<>();
+ }
+
+ /**
+ * @return text property for a {@link TextInputControl}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static IJFXControlValueProperty<TextInputControl,String> textInputText() {
+ return new TextValueProperty<>();
+ }
+
+ /**
+ * @return text property of a {@link ComboBox#editorProperty()}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static IJFXControlValueProperty<ComboBox<?>,String> comboBoxText() {
+ return new TextValueProperty<>();
+ }
+
+ /**
+ * @return text property of a {@link Cell}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static IJFXControlValueProperty<Cell<?>,String> cellText() {
+ return new TextValueProperty<>();
+ }
+
+ /**
+ * @return text property of a {@link Tab}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static IJFXControlValueProperty<Tab,String> tabText() {
+ return new TextValueProperty<>();
}
/**
@@ -74,7 +146,16 @@
* @return the property
*/
@NonNull
- public static IJFXControlValueProperty date() {
- return new DatePickerValueProperty();
+ public static <@NonNull S> IJFXControlValueProperty<S,LocalDate> date() {
+ return new DateValueProperty<>();
+ }
+
+ /**
+ * @return date property of a {@link DatePicker}
+ * @since 3.0.0
+ */
+ @NonNull
+ public static IJFXControlValueProperty<DatePicker,LocalDate> datePickerDate() {
+ return new DateValueProperty<>();
}
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/ListUtil.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/ListUtil.java
index 60668c8..268c454 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/ListUtil.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/ListUtil.java
@@ -118,7 +118,7 @@
* the list element type
* @see #setupList(ListView, String, IValueProperty...)
*/
- public static <T> void setupList(@NonNull ListView<T> listView, @NonNull IObservableList list,
+ public static <T> void setupList(@NonNull ListView<T> listView, @NonNull IObservableList<T> list,
@NonNull String template, @NonNull IValueProperty... properties) {
setupList(listView, template, properties);
listView.setItems(AdapterFactory.<T> adapt(list));
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/TreeUtil.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/TreeUtil.java
index f1f4ccb..a6c29c0 100755
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/TreeUtil.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/TreeUtil.java
@@ -20,7 +20,6 @@
import org.eclipse.core.databinding.observable.list.ListDiffVisitor;
import org.eclipse.jdt.annotation.NonNull;
-import javafx.beans.value.ChangeListener;
import javafx.collections.ObservableList;
import javafx.scene.control.TreeItem;
@@ -30,7 +29,7 @@
public class TreeUtil {
/**
* Create a tree model backed by the given {@link ObservableFactory}
- *
+ *
* @param root
* the root of the model
* @param factory
@@ -46,14 +45,14 @@
/**
* Factory to create child observables
- *
+ *
* @param <T>
* the type
*/
public interface ObservableFactory<T> {
/**
* Create an observable list for the parent element
- *
+ *
* @param parent
* the parent
* @return the list
@@ -71,17 +70,19 @@
setValue(element);
this.factory = factory;
this.list = factory.createObservable(element);
- getChildren().add(new TreeItem<>());
-
- expandedProperty().addListener((o) -> {
- if( isExpanded() ) {
- if( ! this.hasLoadedChildren ) {
- loadChildren();
+ if( this.list != null ) {
+ getChildren().add(new TreeItem<>());
+
+ expandedProperty().addListener((o) -> {
+ if( isExpanded() ) {
+ if( ! this.hasLoadedChildren ) {
+ loadChildren();
+ }
}
- }
- });
+ });
+ }
}
-
+
// @Override
// public ObservableList<TreeItem<T>> getChildren() {
// if (this.hasLoadedChildren == false) {
@@ -89,7 +90,7 @@
// }
// return super.getChildren();
// }
-
+
// @Override
// public boolean isLeaf() {
// if( this.hasLoadedChildren ) {
@@ -118,20 +119,7 @@
@Override
public void handleRemove(int index, Object element) {
- if (itemList.size() < index) {
- TreeItem<T> t = itemList.get(index);
- if (t.getValue() == element) {
- itemList.remove(index);
- } else {
- Iterator<TreeItem<T>> it = itemList.iterator();
- while (it.hasNext()) {
- if (it.next().getValue() == element) {
- it.remove();
- break;
- }
- }
- }
- }
+ itemList.remove(index);
}
@SuppressWarnings({ "unchecked" })
@@ -143,18 +131,26 @@
itemList.add(new TreeItemImpl<@NonNull T>((T) element, TreeItemImpl.this.factory));
}
}
+
+ @Override
+ public void handleMove(int oldIndex, int newIndex, Object element) {
+ TreeItem<T> item = getChildren().remove(oldIndex);
+ getChildren().add(newIndex,item);
+ }
});
}
});
List<TreeItemImpl<@NonNull T>> l = new ArrayList<>(this.list.size());
-
+
for (Object o : this.list) {
@SuppressWarnings("unchecked")
T t = (T) o;
l.add(new TreeItemImpl<@NonNull T>(t, this.factory));
}
-
+
itemList.setAll(l);
+ } else {
+ getChildren().clear();
}
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlDelayedObservableValueDecorator.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlDelayedObservableValueDecorator.java
index 8e0ef2f..3ec84e9 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlDelayedObservableValueDecorator.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlDelayedObservableValueDecorator.java
@@ -5,10 +5,11 @@
import javafx.beans.Observable;
import javafx.scene.Node;
-public class ControlDelayedObservableValueDecorator extends ControlObservableValueDecorator {
+@SuppressWarnings("javadoc")
+public class ControlDelayedObservableValueDecorator<T> extends ControlObservableValueDecorator<T> {
private final Node control;
- public ControlDelayedObservableValueDecorator(IObservableValue decorated, Node control) {
+ public ControlDelayedObservableValueDecorator(IObservableValue<T> decorated, Node control) {
super(decorated);
this.control = control;
control.focusedProperty().addListener( this::handleFocusChange );
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlObservableValueDecorator.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlObservableValueDecorator.java
index 7926e99..8a45713 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlObservableValueDecorator.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlObservableValueDecorator.java
@@ -14,15 +14,13 @@
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.fx.ui.databinding.IJFXControlValueObservable;
-/**
- *
- */
-public class ControlObservableValueDecorator extends DecoratingObservableValue implements IJFXControlValueObservable {
+@SuppressWarnings("javadoc")
+public class ControlObservableValueDecorator<T> extends DecoratingObservableValue<T> implements IJFXControlValueObservable<T> {
/**
* @param decorated
*/
- public ControlObservableValueDecorator(IObservableValue decorated) {
+ public ControlObservableValueDecorator(IObservableValue<T> decorated) {
super(decorated, true);
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlPropertyValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlPropertyValueProperty.java
index e6a04c5..b20d954 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlPropertyValueProperty.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlPropertyValueProperty.java
@@ -12,18 +12,15 @@
import javafx.beans.property.Property;
-/**
- * @param <O>
- */
-public abstract class ControlPropertyValueProperty<O> extends ControlReadOnlyPropertyValueProperty<O> {
+@SuppressWarnings("javadoc")
+public abstract class ControlPropertyValueProperty<S,T> extends ControlReadOnlyPropertyValueProperty<S,T> {
@Override
- protected abstract Property<O> getProperty(Object source);
-
- @SuppressWarnings("unchecked")
+ protected abstract Property<T> getProperty(S source);
+
@Override
- protected void doSetValue(Object source, Object value) {
- Property<O> p = getProperty(source);
- p.setValue((O) value);
+ protected void doSetValue(S source, T value) {
+ Property<T> p = getProperty(source);
+ p.setValue((T) value);
}
-
+
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlReadOnlyPropertyValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlReadOnlyPropertyValueProperty.java
index a44e493..e5cd080 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlReadOnlyPropertyValueProperty.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlReadOnlyPropertyValueProperty.java
@@ -10,65 +10,66 @@
*******************************************************************************/
package org.eclipse.fx.ui.databinding.internal;
-import javafx.beans.property.ReadOnlyProperty;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
-
import org.eclipse.core.databinding.observable.Diffs;
+import org.eclipse.core.databinding.observable.value.ValueDiff;
import org.eclipse.core.databinding.property.INativePropertyListener;
import org.eclipse.core.databinding.property.IProperty;
import org.eclipse.core.databinding.property.ISimplePropertyListener;
import org.eclipse.core.databinding.property.NativePropertyListener;
import org.eclipse.jdt.annotation.NonNull;
-/**
- * @param <O>
- */
-public abstract class ControlReadOnlyPropertyValueProperty<O> extends ControlValueProperty {
+import javafx.beans.property.ReadOnlyProperty;
+import javafx.beans.value.ChangeListener;
+import javafx.beans.value.ObservableValue;
+
+@SuppressWarnings("javadoc")
+public abstract class ControlReadOnlyPropertyValueProperty<S,T> extends ControlValueProperty<S,T> {
@Override
- protected Object doGetValue(Object source) {
- ReadOnlyProperty<O> p = getProperty(source);
+ protected T doGetValue(S source) {
+ ReadOnlyProperty<T> p = getProperty(source);
return p.getValue();
}
/**
* Get the property
- *
+ *
* @param source
* the source
* @return the property
*/
- protected abstract @NonNull ReadOnlyProperty<O> getProperty(Object source);
+ protected abstract @NonNull ReadOnlyProperty<T> getProperty(S source);
@Override
- public INativePropertyListener adaptListener(ISimplePropertyListener listener) {
+ public INativePropertyListener<S> adaptListener(ISimplePropertyListener<S, ValueDiff<? extends T>> listener) {
return new ListenerImpl(this, listener);
}
- class ListenerImpl extends NativePropertyListener implements ChangeListener<Object> {
- private Object owner;
+ class ListenerImpl extends NativePropertyListener<S, ValueDiff<? extends T>> implements ChangeListener<T> {
+ private S owner;
- public ListenerImpl(IProperty property, ISimplePropertyListener listener) {
+ @SuppressWarnings("null")
+ public ListenerImpl(IProperty property, ISimplePropertyListener<S, ValueDiff<? extends T>> listener) {
super(property, listener);
}
@Override
- public void changed(ObservableValue<? extends Object> observable, Object oldValue, Object newValue) {
+ public void changed(ObservableValue<? extends T> observable, T oldValue, T newValue) {
fireChange(this.owner, Diffs.createValueDiff(oldValue, newValue));
}
@Override
- protected void doAddTo(Object source) {
+ protected void doAddTo(S source) {
this.owner = source;
- ReadOnlyProperty<O> p = getProperty(source);
+ ReadOnlyProperty<T> p = getProperty(source);
p.addListener(this);
}
+ @SuppressWarnings("null")
@Override
- protected void doRemoveFrom(Object source) {
+ protected void doRemoveFrom(S source) {
this.owner = null;
- ReadOnlyProperty<O> p = getProperty(source);
+ ReadOnlyProperty<T> p = getProperty(source);
p.removeListener(this);
}
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlValueProperty.java
index 10b817d..c5e54a1 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlValueProperty.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/ControlValueProperty.java
@@ -10,9 +10,6 @@
*******************************************************************************/
package org.eclipse.fx.ui.databinding.internal;
-import javafx.scene.Node;
-import javafx.scene.control.Control;
-
import org.eclipse.core.databinding.observable.Observables;
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.core.databinding.observable.value.IObservableValue;
@@ -21,67 +18,32 @@
import org.eclipse.fx.ui.databinding.IJFXControlValueProperty;
import org.eclipse.jdt.annotation.NonNull;
-/**
- *
- */
-public abstract class ControlValueProperty extends SimpleValueProperty implements IJFXControlValueProperty {
+import javafx.scene.Node;
+
+@SuppressWarnings("javadoc")
+public abstract class ControlValueProperty<S, T> extends SimpleValueProperty<S, T>
+ implements IJFXControlValueProperty<S, T> {
@Override
- public IJFXControlValueObservable observeDelayed(int delay, Control control) {
- IObservableValue v = observe(control);
- return new ControlDelayedObservableValueDecorator(Observables.observeDelayedValue(delay, v), control);
- }
-
- @Override
- public IJFXControlValueObservable observeDelayed(int delay, @NonNull Node control) {
- IObservableValue v = observe(control);
- return new ControlDelayedObservableValueDecorator(Observables.observeDelayedValue(delay, v), control);
+ public IJFXControlValueObservable<T> observeDelayed(int delay, S control) {
+ IObservableValue<T> v = Observables.observeDelayedValue(delay, observe(control));
+ return new ControlDelayedObservableValueDecorator<>(v, (Node) control);
}
// ---
@Override
- public IJFXControlValueObservable observe(Control control) {
- IObservableValue v = super.observe(Realm.getDefault(), control);
- return new ControlObservableValueDecorator(v);
- }
-
- @Override
- public @NonNull IJFXControlValueObservable observe(@NonNull Node control) {
- IObservableValue v = super.observe(Realm.getDefault(), control);
- return new ControlObservableValueDecorator(v);
+ public @NonNull IJFXControlValueObservable<T> observe(S control) {
+ IObservableValue<T> v = super.observe(Realm.getDefault(), control);
+ return new ControlObservableValueDecorator<>(v);
}
// ---
@Override
- public IJFXControlValueObservable observe(Realm realm, Control control) {
- IObservableValue v = super.observe(realm, control);
- return new ControlObservableValueDecorator(v);
+ public IJFXControlValueObservable<T> observe(Realm realm, S control) {
+ IObservableValue<T> v = super.observe(realm, control);
+ return new ControlObservableValueDecorator<>(v);
}
- @Override
- public IJFXControlValueObservable observe(@NonNull Realm realm, @NonNull Node control) {
- IObservableValue v = super.observe(realm, control);
- return new ControlObservableValueDecorator(v);
- }
-
- @Override
- public IJFXControlValueObservable observe(Realm realm, Object source) {
- if( realm == null ) {
- throw new IllegalArgumentException("Realm can not be null"); //$NON-NLS-1$
- }
- if( source == null ) {
- throw new IllegalArgumentException("Source can not be null"); //$NON-NLS-1$
- }
- return observe(realm, (Control)source);
- }
-
- @Override
- public IJFXControlValueObservable observe(Object source) {
- if( source == null ) {
- throw new IllegalArgumentException("Source can not be null"); //$NON-NLS-1$
- }
- return observe((Control)source);
- }
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/DatePickerValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/DatePickerValueProperty.java
deleted file mode 100644
index eedaea8..0000000
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/DatePickerValueProperty.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.fx.ui.databinding.internal;
-
-import java.time.LocalDate;
-
-import javafx.beans.property.Property;
-import javafx.scene.control.DatePicker;
-
-/**
- *
- */
-public class DatePickerValueProperty extends ControlPropertyValueProperty<LocalDate> {
-
- @Override
- public Object getValueType() {
- return LocalDate.class;
- }
-
- @SuppressWarnings("null")
- @Override
- protected Property<LocalDate> getProperty(Object source) {
- DatePicker p = (DatePicker) source;
- return p.valueProperty();
- }
-
-}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/DateValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/DateValueProperty.java
new file mode 100644
index 0000000..4c06ffe
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/DateValueProperty.java
@@ -0,0 +1,27 @@
+package org.eclipse.fx.ui.databinding.internal;
+
+import java.time.LocalDate;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+import javafx.beans.property.Property;
+import javafx.scene.control.DatePicker;
+
+@SuppressWarnings("javadoc")
+public class DateValueProperty<@NonNull S> extends ControlPropertyValueProperty<S,LocalDate> {
+
+ @Override
+ public Object getValueType() {
+ return LocalDate.class;
+ }
+
+ @SuppressWarnings("null")
+ @Override
+ protected Property<LocalDate> getProperty(S source) {
+ if( source instanceof DatePicker ) {
+ return ((DatePicker) source).valueProperty();
+ }
+ throw new IllegalArgumentException("Unable to get Date-Property from " + source); //$NON-NLS-1$
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/SingleSelectionProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/SingleSelectionProperty.java
index fdbb240..454d623 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/SingleSelectionProperty.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/SingleSelectionProperty.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.fx.ui.databinding.internal;
+import org.eclipse.jdt.annotation.NonNull;
+
import javafx.beans.property.ReadOnlyProperty;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ComboBox;
@@ -17,28 +19,26 @@
import javafx.scene.control.SelectionModel;
import javafx.scene.control.TableView;
-/**
- * Property for single selection
- */
-public class SingleSelectionProperty extends ControlReadOnlyPropertyValueProperty<Object> {
+@SuppressWarnings("javadoc")
+public class SingleSelectionProperty<@NonNull S,T> extends ControlReadOnlyPropertyValueProperty<S,T> {
@Override
public Object getValueType() {
return null;
- }
+ }
@SuppressWarnings("null")
@Override
- protected ReadOnlyProperty<Object> getProperty(Object source) {
- SelectionModel<Object> model = getSelectionModel(source);
+ protected ReadOnlyProperty<T> getProperty(S source) {
+ SelectionModel<T> model = getSelectionModel(source);
if( model == null ) {
throw new IllegalStateException("Unable to find selection model for '"+source+"'"); //$NON-NLS-1$//$NON-NLS-2$
}
return model.selectedItemProperty();
}
-
+
@SuppressWarnings("unchecked")
- static SelectionModel<Object> getSelectionModel(Object source) {
+ static <S,T> SelectionModel<T> getSelectionModel(S source) {
SelectionModel<Object> m = null;
if( source instanceof ListView<?> ) {
m = ((ListView<Object>) source).getSelectionModel();
@@ -49,11 +49,11 @@
} else if( source instanceof TableView<?> ) {
m = ((TableView<Object>) source).getSelectionModel();
}
- return m;
+ return (SelectionModel<T>) m;
}
-
+
@Override
- protected void doSetValue(Object source, Object value) {
+ protected void doSetValue(S source, T value) {
SelectionModel<Object> o = getSelectionModel(source);
if( o != null ) {
if( value == null ) {
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TemplateComputedValue.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TemplateComputedValue.java
index 7a321fe..d0d3a29 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TemplateComputedValue.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TemplateComputedValue.java
@@ -25,7 +25,7 @@
/**
* A computed value using the the message template
*/
-public final class TemplateComputedValue extends ComputedValue {
+public final class TemplateComputedValue extends ComputedValue<String> {
@NonNull
private final List<@NonNull Struct> values;
@NonNull
@@ -79,7 +79,7 @@
}
@Override
- protected Object calculate() {
+ protected String calculate() {
Object[] v = this.values.stream().map((o) -> this.converter.apply(o.property, o.value.getValue())).toArray();
return MessageFormat.format(this.template, v);
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TextValueProperty.java b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TextValueProperty.java
index c947cc6..74c0058 100644
--- a/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TextValueProperty.java
+++ b/bundles/runtime/org.eclipse.fx.ui.databinding/src/org/eclipse/fx/ui/databinding/internal/TextValueProperty.java
@@ -2,7 +2,6 @@
import java.lang.reflect.InvocationTargetException;
-import org.eclipse.fx.core.databinding.JFXBeanProperties;
import org.eclipse.jdt.annotation.NonNull;
import javafx.beans.property.Property;
@@ -11,20 +10,22 @@
import javafx.scene.control.Tab;
import javafx.scene.control.TextInputControl;
-public class TextValueProperty extends ControlPropertyValueProperty<String> {
+@SuppressWarnings("javadoc")
+public class TextValueProperty<S> extends ControlPropertyValueProperty<S,String> {
@Override
public Object getValueType() {
return String.class;
}
+ @SuppressWarnings("null")
@Override
- protected @NonNull Property<String> getProperty(Object source) {
+ protected @NonNull Property<String> getProperty(S source) {
if( source instanceof TextInputControl ) {
TextInputControl field = (TextInputControl) source;
return field.textProperty();
} else if( source instanceof ComboBox<?> ) {
- return ((ComboBox) source).getEditor().textProperty();
+ return ((ComboBox<?>) source).getEditor().textProperty();
} else if( source instanceof Cell<?> ) {
return ((Cell<?>) source).textProperty();
} else if( source instanceof Tab ) {
diff --git a/bundles/runtime/org.eclipse.fx.ui.di.interopt/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.di.interopt/META-INF/MANIFEST.MF
index 67d2f67..98e7f87 100644
--- a/bundles/runtime/org.eclipse.fx.ui.di.interopt/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.di.interopt/META-INF/MANIFEST.MF
@@ -2,22 +2,25 @@
Bundle-ManifestVersion: 2
Bundle-Name: Interopt
Bundle-SymbolicName: org.eclipse.fx.ui.di.interopt
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.swt;bundle-version="3.100.1";resolution:=optional,
org.eclipse.e4.core.contexts;bundle-version="1.2.0",
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional,
org.eclipse.e4.core.di;bundle-version="1.5.0",
org.eclipse.core.commands;bundle-version="3.7.0",
- org.eclipse.e4.core.commands;bundle-version="0.11.0"
+ org.eclipse.e4.core.commands;bundle-version="0.11.0",
+ org.eclipse.e4.core.services;bundle-version="2.0.0",
+ org.eclipse.e4.ui.services;bundle-version="1.2.0",
+ org.eclipse.e4.ui.workbench
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.di.interopt.UISynchronizeImpl.xml,
OSGI-INF/services/org.eclipse.fx.ui.di.interopt.InteroptContextFunction.xml,
OSGI-INF/services/org.eclipse.fx.ui.di.interopt.CommandServiceImplCF.xml
Import-Package: javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.command;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.ui.services.theme;version="2.6.0";resolution:=optional,
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.command;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.services.theme;version="3.0.0";resolution:=optional,
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.ui.di.interopt/pom.xml b/bundles/runtime/org.eclipse.fx.ui.di.interopt/pom.xml
index 106d0e1..d0ca2b3 100755
--- a/bundles/runtime/org.eclipse.fx.ui.di.interopt/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.di.interopt/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.di.interopt/src/org/eclipse/fx/ui/di/interopt/CommandServiceImpl.java b/bundles/runtime/org.eclipse.fx.ui.di.interopt/src/org/eclipse/fx/ui/di/interopt/CommandServiceImpl.java
index e9e067c..311a8a7 100644
--- a/bundles/runtime/org.eclipse.fx.ui.di.interopt/src/org/eclipse/fx/ui/di/interopt/CommandServiceImpl.java
+++ b/bundles/runtime/org.eclipse.fx.ui.di.interopt/src/org/eclipse/fx/ui/di/interopt/CommandServiceImpl.java
@@ -10,18 +10,33 @@
*******************************************************************************/
package org.eclipse.fx.ui.di.interopt;
+import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
+import javax.annotation.PostConstruct;
import javax.inject.Inject;
import org.eclipse.core.commands.ParameterizedCommand;
import org.eclipse.e4.core.commands.ECommandService;
import org.eclipse.e4.core.commands.EHandlerService;
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.contexts.RunAndTrack;
+import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.UIEvents;
+import org.eclipse.fx.core.command.Command;
import org.eclipse.fx.core.command.CommandService;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
+import javafx.beans.Observable;
+import javafx.beans.property.ReadOnlyBooleanProperty;
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableMap;
+
/**
* A command service implementation
*
@@ -33,6 +48,8 @@
private final ECommandService commandService;
@NonNull
private final EHandlerService handlerService;
+ @NonNull
+ private final IEclipseContext context;
/**
* Create a new instance
@@ -43,9 +60,10 @@
* handler service
*/
@Inject
- public CommandServiceImpl(@NonNull ECommandService commandService, @NonNull EHandlerService handlerService) {
+ public CommandServiceImpl(@NonNull ECommandService commandService, @NonNull EHandlerService handlerService, @NonNull IEclipseContext context) {
this.commandService = commandService;
this.handlerService = handlerService;
+ this.context = context;
}
@Override
@@ -66,4 +84,90 @@
return Optional.ofNullable((O)this.handlerService.executeHandler(cmd));
}
+ @Override
+ public <O> Optional<Command<O>> createCommand(@NonNull String commandId) {
+ org.eclipse.core.commands.Command command = this.commandService.getCommand(commandId);
+ if (command == null || !command.isDefined()) {
+ return Optional.empty();
+ }
+ CommandImpl<O> c = new CommandImpl<O>(commandId, this.context);
+ ContextInjectionFactory.inject(c, this.context);
+ return Optional.of(c);
+ }
+
+ static class CommandImpl<O> implements Command<O> {
+ private final String commandId;
+ private CommandService commandService;
+ private final IEclipseContext context;
+
+ private ReadOnlyBooleanWrapper enabledProperty = new ReadOnlyBooleanWrapper(this, "enabled"); //$NON-NLS-1$
+ private final ObservableMap<String, String> parameters = FXCollections.observableMap(new HashMap<>());
+
+ public CommandImpl(String commandId, IEclipseContext context) {
+ this.commandId = commandId;
+ this.context = context;
+ this.parameters.addListener((Observable o) -> {
+ recalculateState();
+ });
+ }
+
+ @PostConstruct
+ void init(IEventBroker eventBroker) {
+// eventBroker.subscribe(ScopedObjectFactory.KEYMODIFED_TOPIC, e -> recalculateState());
+ eventBroker.subscribe(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, e -> {
+ recalculateState();
+ });
+ eventBroker.subscribe(UIEvents.Dirtyable.TOPIC_DIRTY, e -> recalculateState());
+ this.context.runAndTrack(new RunAndTrack() {
+
+ @Override
+ public boolean changed(IEclipseContext context) {
+ context.get(IServiceConstants.ACTIVE_CONTEXTS);
+ context.get(IServiceConstants.ACTIVE_SELECTION);
+ context.get(IServiceConstants.ACTIVE_PART);
+ recalculateState();
+ return true;
+ }
+ });
+ }
+
+ @Override
+ public void evaluate() {
+ recalculateState();
+ }
+
+ @Inject
+ public void setCommandService(CommandService commandService) {
+ this.commandService = commandService;
+ recalculateState();
+ }
+
+ @SuppressWarnings({ "unchecked", "null" })
+ void recalculateState() {
+ this.enabledProperty.set(this.commandService.canExecute(this.commandId, (Map<String, Object>) (Map<?, ?>) this.parameters));
+ }
+
+ @Override
+ public ReadOnlyBooleanProperty enabledProperty() {
+ return this.enabledProperty.getReadOnlyProperty();
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return this.enabledProperty.get();
+ }
+
+ @SuppressWarnings({ "null", "unchecked" })
+ @Override
+ public Optional<O> execute() {
+ return this.commandService.execute(this.commandId, (Map<String, Object>) (Map<?, ?>) this.parameters);
+ }
+
+ @Override
+ public ObservableMap<String, String> parameters() {
+ return this.parameters;
+ }
+
+ }
+
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.di/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.di/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.di/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.di/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.di/META-INF/MANIFEST.MF
index fa9153f..760021a 100755
--- a/bundles/runtime/org.eclipse.fx.ui.di/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.di/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ui.di
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.e4.core.contexts;bundle-version="0.9.0",
org.eclipse.e4.core.di;bundle-version="0.9.0",
@@ -11,13 +11,13 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.annotation;version="1.0.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.fxml;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.osgi.util;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.fxml;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.osgi.util;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0"
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.fx.ui.di;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.di;version="3.0.0"
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.di.internal.ResourcePoolFactory.xml,
OSGI-INF/services/org.eclipse.fx.ui.di.internal.FXMLLoaderSupplier.xml,
OSGI-INF/services/org.eclipse.fx.ui.di.internal.ResourceServiceImpl.xml
diff --git a/bundles/runtime/org.eclipse.fx.ui.di/pom.xml b/bundles/runtime/org.eclipse.fx.ui.di/pom.xml
index e335213..339d78f 100755
--- a/bundles/runtime/org.eclipse.fx.ui.di/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.di/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.dialogs/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.dialogs/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.dialogs/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.dialogs/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.dialogs/META-INF/MANIFEST.MF
index 6e082f6..1c5b389 100755
--- a/bundles/runtime/org.eclipse.fx.ui.dialogs/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.dialogs/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
Bundle-ManifestVersion: 2
Bundle-Name: Dialogs
Bundle-SymbolicName: org.eclipse.fx.ui.dialogs
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.fx.ui.dialogs;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.dialogs;version="3.0.0"
Bundle-Vendor: Eclipse.org
-Import-Package: org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.ui.controls.stage;version="2.6.0",
- org.eclipse.fx.ui.panes;version="2.6.0"
+Import-Package: org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.ui.controls.stage;version="3.0.0",
+ org.eclipse.fx.ui.panes;version="3.0.0"
diff --git a/bundles/runtime/org.eclipse.fx.ui.dialogs/pom.xml b/bundles/runtime/org.eclipse.fx.ui.dialogs/pom.xml
index 8e6be9b..91d6fcd 100755
--- a/bundles/runtime/org.eclipse.fx.ui.dialogs/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.dialogs/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/META-INF/MANIFEST.MF
index fc5dee0..c7618a1 100755
--- a/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: E4
Bundle-SymbolicName: org.eclipse.fx.ui.keybindings.e4
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.1.0",
org.eclipse.e4.core.di;bundle-version="1.1.0",
@@ -16,9 +16,9 @@
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Import-Package: javax.annotation;version="1.2.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.ui.keybindings;version="2.6.0",
- org.eclipse.fx.ui.keybindings.service;version="2.6.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.keybindings;version="3.0.0",
+ org.eclipse.fx.ui.keybindings.service;version="3.0.0",
org.osgi.service.event;version="1.3.1"
-Export-Package: org.eclipse.fx.ui.keybindings.e4;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.keybindings.e4;version="3.0.0"
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/pom.xml b/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/pom.xml
index d3e1efb..5dc9de9 100755
--- a/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings.e4/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/META-INF/MANIFEST.MF
index 185b385..e9dfbc3 100755
--- a/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: Generic
Bundle-SymbolicName: org.eclipse.fx.ui.keybindings.generic
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.core.commands;bundle-version="3.6.0",
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.keybindings.generic.BindingFactoryImpl.xml
Bundle-Vendor: Eclipse.org
-Import-Package: org.eclipse.fx.ui.keybindings;version="2.6.0",
- org.eclipse.fx.ui.keybindings.service;version="2.6.0",
+Import-Package: org.eclipse.fx.ui.keybindings;version="3.0.0",
+ org.eclipse.fx.ui.keybindings.service;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/pom.xml b/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/pom.xml
index 3806bc1..4612073 100755
--- a/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings.generic/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.keybindings/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.keybindings/META-INF/MANIFEST.MF
index dbfb9b0..de1edf4 100755
--- a/bundles/runtime/org.eclipse.fx.ui.keybindings/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Bindings
Bundle-SymbolicName: org.eclipse.fx.ui.keybindings
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.core.commands;bundle-version="3.6.0",
@@ -11,6 +11,6 @@
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Import-Package: javax.annotation;version="1.0.0";resolution:=optional,
javax.inject;version="1.0.0"
-Export-Package: org.eclipse.fx.ui.keybindings;version="2.6.0",
- org.eclipse.fx.ui.keybindings.service;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.keybindings;version="3.0.0",
+ org.eclipse.fx.ui.keybindings.service;version="3.0.0"
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.ui.keybindings/pom.xml b/bundles/runtime/org.eclipse.fx.ui.keybindings/pom.xml
index 155785d..1e0ab25 100755
--- a/bundles/runtime/org.eclipse.fx.ui.keybindings/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.keybindings/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.mobile/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.mobile/META-INF/MANIFEST.MF
index 283cc19..2d82b7a 100644
--- a/bundles/runtime/org.eclipse.fx.ui.mobile/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.mobile/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
Bundle-ManifestVersion: 2
Bundle-Name: Mobile
Bundle-SymbolicName: org.eclipse.fx.ui.mobile
-Bundle-Version: 2.6.0.qualifier
-Export-Package: org.eclipse.fx.ui.mobile;version="2.6.0",
- org.eclipse.fx.ui.mobile.animations;version="2.6.0"
+Bundle-Version: 3.0.0.qualifier
+Export-Package: org.eclipse.fx.ui.mobile;version="3.0.0",
+ org.eclipse.fx.ui.mobile.animations;version="3.0.0"
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: Eclipse.org
diff --git a/bundles/runtime/org.eclipse.fx.ui.mobile/pom.xml b/bundles/runtime/org.eclipse.fx.ui.mobile/pom.xml
index 595e934..a9b0491 100755
--- a/bundles/runtime/org.eclipse.fx.ui.mobile/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.mobile/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.modelviewer/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.modelviewer/META-INF/MANIFEST.MF
index c1e3850..26c82b5 100644
--- a/bundles/runtime/org.eclipse.fx.ui.modelviewer/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.modelviewer/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
Bundle-ManifestVersion: 2
Bundle-Name: Modelviewer
Bundle-SymbolicName: org.eclipse.fx.ui.modelviewer;singleton:=true
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.annotation;version="1.1.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core.databinding;version="2.3.0",
- org.eclipse.fx.core.di;version="2.3.0",
- org.eclipse.fx.core.log;version="2.3.0",
- org.eclipse.fx.ui.databinding;version="2.3.0"
+ org.eclipse.fx.core.databinding;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.databinding;version="3.0.0"
Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="1.0.1",
org.eclipse.core.databinding;bundle-version="1.4.1",
org.eclipse.core.databinding.observable;bundle-version="1.4.1",
@@ -18,7 +18,7 @@
org.eclipse.emf.databinding;bundle-version="1.3.0",
org.eclipse.emf.databinding.edit;bundle-version="1.3.0",
org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
-Export-Package: org.eclipse.fx.ui.modelviewer;version="2.3.0"
+Export-Package: org.eclipse.fx.ui.modelviewer;version="3.0.0"
Service-Component: OSGI-INF/services/registry.xml,
OSGI-INF/services/defaultDelegates.xml
Bundle-ActivationPolicy: lazy
diff --git a/bundles/runtime/org.eclipse.fx.ui.panes/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.panes/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.panes/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.panes/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.panes/META-INF/MANIFEST.MF
index f325dc2..35e3cc8 100755
--- a/bundles/runtime/org.eclipse.fx.ui.panes/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.panes/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ui.panes
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.fx.ui.panes;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.panes;version="3.0.0"
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional
diff --git a/bundles/runtime/org.eclipse.fx.ui.panes/pom.xml b/bundles/runtime/org.eclipse.fx.ui.panes/pom.xml
index a84bd56..38568ed 100755
--- a/bundles/runtime/org.eclipse.fx.ui.panes/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.panes/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.services/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.services/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.services/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.services/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.services/META-INF/MANIFEST.MF
index 7829372..17bc5c7 100755
--- a/bundles/runtime/org.eclipse.fx.ui.services/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.services/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ui.services
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.fx.ui.services;version="2.6.0",
- org.eclipse.fx.ui.services.commands;version="2.6.0",
- org.eclipse.fx.ui.services.dialog;version="2.6.0",
- org.eclipse.fx.ui.services.resources;version="2.6.0",
- org.eclipse.fx.ui.services.restart;version="2.6.0",
- org.eclipse.fx.ui.services.startup;version="2.6.0",
- org.eclipse.fx.ui.services.sync;version="2.6.0",
- org.eclipse.fx.ui.services.theme;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.services;version="3.0.0",
+ org.eclipse.fx.ui.services.commands;version="3.0.0",
+ org.eclipse.fx.ui.services.dialog;version="3.0.0",
+ org.eclipse.fx.ui.services.resources;version="3.0.0",
+ org.eclipse.fx.ui.services.restart;version="3.0.0",
+ org.eclipse.fx.ui.services.startup;version="3.0.0",
+ org.eclipse.fx.ui.services.sync;version="3.0.0",
+ org.eclipse.fx.ui.services.theme;version="3.0.0"
Bundle-Vendor: %Bundle-Vendor
Import-Package: javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.ui.controls;version="2.6.0",
- org.eclipse.fx.ui.controls.image;version="2.6.0",
- org.eclipse.fx.ui.controls.stage;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.ui.controls;version="3.0.0",
+ org.eclipse.fx.ui.controls.image;version="3.0.0",
+ org.eclipse.fx.ui.controls.stage;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0"
Require-Bundle: org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional,
org.eclipse.core.runtime;bundle-version="3.10.0";resolution:=optional
diff --git a/bundles/runtime/org.eclipse.fx.ui.services/pom.xml b/bundles/runtime/org.eclipse.fx.ui.services/pom.xml
index 68690bc..ba07fd1 100755
--- a/bundles/runtime/org.eclipse.fx.ui.services/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.services/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.services/src/org/eclipse/fx/ui/services/startup/StartupProgressTrackerService.java b/bundles/runtime/org.eclipse.fx.ui.services/src/org/eclipse/fx/ui/services/startup/StartupProgressTrackerService.java
index 0dfe355..8a404f2 100644
--- a/bundles/runtime/org.eclipse.fx.ui.services/src/org/eclipse/fx/ui/services/startup/StartupProgressTrackerService.java
+++ b/bundles/runtime/org.eclipse.fx.ui.services/src/org/eclipse/fx/ui/services/startup/StartupProgressTrackerService.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.fx.ui.services.startup;
+import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
/**
@@ -24,12 +25,14 @@
/**
* Continue with the start process
*/
- CONTINUE, /**
- * End the statt process and restart
- */
- RESTART, /**
- * End the start process and shutdown
- */
+ CONTINUE,
+ /**
+ * End the statt process and restart
+ */
+ RESTART,
+ /**
+ * End the start process and shutdown
+ */
EXIT
}
@@ -46,32 +49,67 @@
*/
public enum DefaultProgressState implements ProgressState {
/**
- * The JavaFX subsystem has been initialized so
- * custom stages can be shown
+ * The JavaFX subsystem has been initialized so custom stages can be
+ * shown.
+ * <p>
+ * This state is guaranteed to be reached on JavaFX event thread
+ * </p>
*/
JAVAFX_INITIALIZED,
/**
+ * The JavaFX subsystem has been initialized so custom stages can be
+ * shown.
+ * <p>
+ * This state is guaranteed to be reached on launcher thread
+ * </p>
+ * <p>
+ * <strong>This state is only reach if you are launching on the if you are launching the E4MainThreadApplication</strong>
+ * </p>
+ */
+ JAVAFX_INITIALIZED_LAUNCHER_THREAD,
+ /**
* The DI-System is started (in case the implementation has @Inject
* annotated fields and methods the have been filled now with values)
+ * <p>
+ * This state is guaranteed to be reached on JavaFX event thread
+ * </p>
*/
DI_SYSTEM_INITIALIZED,
- /**
- * The lifecycle @PostContextCreate has been
- * finished
- */
- POST_CONTEXT_LF_FINISHED, /**
- * The workbench UI is shown
- */
+ /**
+ * The lifecycle @PostContextCreate has been finished
+ * <p>
+ * This state is guaranteed to be reached on JavaFX event thread
+ * </p>
+ */
+ POST_CONTEXT_LF_FINISHED,
+ /**
+ * The workbench UI is showing
+ * <p>
+ * This method is guaranteed to be called on JavaFX event thread
+ * </p>
+ */
WORKBENCH_GUI_SHOWING,
/**
+ * The workbench UI is shown
+ * <p>
+ * This method is guaranteed to be called on JavaFX event thread
+ * </p>
+ */
+ WORKBENCH_GUI_SHOWN,
+ /**
* State reached when check for workspace could not be locked
+ * <p>
+ * This state is guaranteed to be reached on JavaFX event thread
+ * </p>
*/
LOCATION_CHECK_FAILED
}
/**
- * Invoked when the OSGi-Framework has been launched
- *
+ * Invoked when the OSGi-Framework has been launched. This method is
+ * guaranteed to be called on the thread
+ * {@link IApplication#start(IApplicationContext)} has been invoked
+ *
* @param applicationContext
* the application context
* @return information how to proceed
@@ -80,7 +118,7 @@
/**
* Method called when a certain state has been reached
- *
+ *
* @param state
* the state reached
*/
diff --git a/bundles/runtime/org.eclipse.fx.ui.theme/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.theme/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.theme/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.theme/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.theme/META-INF/MANIFEST.MF
index 3b660f8..4ed90b8 100755
--- a/bundles/runtime/org.eclipse.fx.ui.theme/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.theme/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ui.theme;singleton:=true
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ui.theme.internal.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.jdt.annotation;bundle-version="1.1.0";resolution:=optional
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.theme.internal.DefaultThemeManager.xml
-Import-Package: org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.ui.services;version="2.6.0",
- org.eclipse.fx.ui.services.theme;version="2.6.0",
+Import-Package: org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.services;version="3.0.0",
+ org.eclipse.fx.ui.services.theme;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
org.osgi.service.event;version="1.3.0"
Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.fx.ui.theme;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.theme;version="3.0.0"
diff --git a/bundles/runtime/org.eclipse.fx.ui.theme/pom.xml b/bundles/runtime/org.eclipse.fx.ui.theme/pom.xml
index ab3d29a..e6646e4 100755
--- a/bundles/runtime/org.eclipse.fx.ui.theme/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.theme/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.base/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.workbench.base/META-INF/MANIFEST.MF
index 9b478c5..c1d88bc 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.base/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.base/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Base
Bundle-SymbolicName: org.eclipse.fx.ui.workbench.base
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.1.0",
org.eclipse.e4.ui.model.workbench;bundle-version="0.10.1",
@@ -20,21 +20,24 @@
org.eclipse.e4.core.di.extensions,
org.eclipse.e4.core.commands,
org.eclipse.core.commands;bundle-version="3.6.100",
- org.eclipse.emf.ecore.xmi;bundle-version="2.11.0"
-Export-Package: org.eclipse.fx.ui.workbench.base;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.fx,org.eclipse.fx.ui.workbench.renderers.fx,org.eclipse.fx.ui.workbench.renderers.base",
- org.eclipse.fx.ui.workbench.base.rendering;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.fx,org.eclipse.fx.ui.workbench.renderers.fx,org.eclipse.fx.ui.workbench.renderers.base"
+ org.eclipse.emf.ecore.xmi;bundle-version="2.11.0",
+ org.eclipse.fx.core,
+ org.eclipse.fx.core.di
+Export-Package: org.eclipse.fx.ui.workbench.base;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.fx,org.eclipse.fx.ui.workbench.renderers.fx,org.eclipse.fx.ui.workbench.renderers.base",
+ org.eclipse.fx.ui.workbench.base.rendering;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.fx,org.eclipse.fx.ui.workbench.renderers.fx,org.eclipse.fx.ui.workbench.renderers.base"
Import-Package: javax.annotation;version="1.2.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.adapter;version="2.6.0",
- org.eclipse.fx.core.command;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.ui.services;version="2.6.0",
- org.eclipse.fx.ui.services.restart;version="2.6.0",
- org.eclipse.fx.ui.services.startup;version="2.6.0",
- org.eclipse.fx.ui.services.sync;version="2.6.0",
- org.eclipse.fx.ui.workbench.services;version="2.6.0",
- org.osgi.service.component.annotations;version="1.2.0"
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.adapter;version="3.0.0",
+ org.eclipse.fx.core.command;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.services;version="3.0.0",
+ org.eclipse.fx.ui.services.restart;version="3.0.0",
+ org.eclipse.fx.ui.services.startup;version="3.0.0",
+ org.eclipse.fx.ui.services.sync;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services;version="3.0.0",
+ org.osgi.service.component.annotations;version="1.2.0",
+ org.osgi.service.event;version="1.3.1"
Bundle-Activator: org.eclipse.fx.ui.workbench.base.internal.Activator
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.workbench.base.internal.MementoCF.xml,
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.base/pom.xml b/bundles/runtime/org.eclipse.fx.ui.workbench.base/pom.xml
index 3c72e08..7ce5e14 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.base/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.base/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/AbstractE4Application.java b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/AbstractE4Application.java
index 0dac1e6..79d910f 100644
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/AbstractE4Application.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/AbstractE4Application.java
@@ -36,6 +36,7 @@
import org.eclipse.e4.core.internal.services.EclipseAdapter;
import org.eclipse.e4.core.services.adapter.Adapter;
import org.eclipse.e4.core.services.contributions.IContributionFactory;
+import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.e4.core.services.log.ILoggerProvider;
import org.eclipse.e4.core.services.log.Logger;
import org.eclipse.e4.core.services.translation.TranslationProviderFactory;
@@ -82,7 +83,9 @@
import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService.DefaultProgressState;
import org.eclipse.fx.ui.services.sync.UISynchronize;
import org.eclipse.fx.ui.workbench.base.internal.Activator;
+import org.eclipse.fx.ui.workbench.base.internal.CommandEventDispatcher;
import org.eclipse.fx.ui.workbench.base.internal.LoggerProviderImpl;
+import org.eclipse.fx.ui.workbench.base.rendering.ElementRenderer;
import org.eclipse.fx.ui.workbench.base.restart.RestartPreferenceUtil;
import org.eclipse.fx.ui.workbench.base.restart.RestartServiceImpl;
import org.eclipse.fx.ui.workbench.services.EModelStylingService;
@@ -213,6 +216,9 @@
}
startupProgressTrackerService.stateReached(DefaultProgressState.DI_SYSTEM_INITIALIZED);
+ appContext.get(IEventBroker.class).subscribe(ElementRenderer.TOPIC_WINDOW_SHOWN, e -> {
+ startupProgressTrackerService.stateReached(DefaultProgressState.WORKBENCH_GUI_SHOWN);
+ });
}
// Get the factory to create DI instances with
@@ -538,6 +544,7 @@
return ContextInjectionFactory.make(SelectionServiceImpl.class, context);
}
});
+ ContextInjectionFactory.make(CommandEventDispatcher.class, appContext);
}
/**
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandEventDispatcher.java b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandEventDispatcher.java
new file mode 100644
index 0000000..d048636
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandEventDispatcher.java
@@ -0,0 +1,51 @@
+package org.eclipse.fx.ui.workbench.base.internal;
+
+import javax.inject.Inject;
+
+import org.eclipse.core.commands.CommandManager;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IExecutionListener;
+import org.eclipse.core.commands.NotHandledException;
+import org.eclipse.e4.core.di.annotations.Optional;
+import org.eclipse.fx.core.event.EventBus;
+
+public class CommandEventDispatcher implements IExecutionListener {
+ private EventBus eventBus;
+
+ @Inject
+ public CommandEventDispatcher(EventBus eventBus) {
+ this.eventBus = eventBus;
+ }
+
+ @Inject
+ void setManager(@Optional CommandManager manager) {
+ // Command manager is not there at the beginning hence with make it optional
+ if( manager != null ) {
+ manager.addExecutionListener(this);
+ }
+ }
+
+ @Override
+ public void notHandled(String commandId, NotHandledException exception) {
+
+ }
+
+ @Override
+ public void postExecuteFailure(String commandId, ExecutionException exception) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void postExecuteSuccess(String commandId, Object returnValue) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void preExecute(String commandId, ExecutionEvent event) {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandServiceImpl.java b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandServiceImpl.java
index c3cc0b3..7d60aec 100644
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandServiceImpl.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/internal/CommandServiceImpl.java
@@ -10,18 +10,34 @@
*******************************************************************************/
package org.eclipse.fx.ui.workbench.base.internal;
+import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
+import javax.annotation.PostConstruct;
import javax.inject.Inject;
import org.eclipse.core.commands.ParameterizedCommand;
import org.eclipse.e4.core.commands.ECommandService;
import org.eclipse.e4.core.commands.EHandlerService;
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.contexts.RunAndTrack;
+import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.UIEvents;
+import org.eclipse.fx.core.command.Command;
import org.eclipse.fx.core.command.CommandService;
+import org.eclipse.fx.core.di.ScopedObjectFactory;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
+import javafx.beans.Observable;
+import javafx.beans.property.ReadOnlyBooleanProperty;
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableMap;
+
/**
* A command service implementation
*
@@ -33,6 +49,8 @@
private final ECommandService commandService;
@NonNull
private final EHandlerService handlerService;
+ @NonNull
+ private final IEclipseContext context;
/**
* Create a new instance
@@ -41,11 +59,14 @@
* command service
* @param handlerService
* handler service
+ * @param context
+ * the context
*/
@Inject
- public CommandServiceImpl(@NonNull ECommandService commandService, @NonNull EHandlerService handlerService) {
+ public CommandServiceImpl(@NonNull ECommandService commandService, @NonNull EHandlerService handlerService, @NonNull IEclipseContext context) {
this.commandService = commandService;
this.handlerService = handlerService;
+ this.context = context;
}
@Override
@@ -63,7 +84,92 @@
@Override
public <O> Optional<O> execute(@NonNull String commandId, @NonNull Map<@NonNull String, @Nullable Object> parameters) {
ParameterizedCommand cmd = this.commandService.createCommand(commandId, parameters);
- return Optional.ofNullable((O)this.handlerService.executeHandler(cmd));
+ return Optional.ofNullable((O) this.handlerService.executeHandler(cmd));
}
+ @Override
+ public <O> Optional<Command<O>> createCommand(@NonNull String commandId) {
+ org.eclipse.core.commands.Command command = this.commandService.getCommand(commandId);
+ if (command == null || !command.isDefined()) {
+ return Optional.empty();
+ }
+ CommandImpl<O> c = new CommandImpl<O>(commandId, this.context);
+ ContextInjectionFactory.inject(c, this.context);
+ return Optional.of(c);
+ }
+
+ static class CommandImpl<O> implements Command<O> {
+ private final String commandId;
+ private CommandService commandService;
+ private final IEclipseContext context;
+
+ private ReadOnlyBooleanWrapper enabledProperty = new ReadOnlyBooleanWrapper(this, "enabled"); //$NON-NLS-1$
+ private final ObservableMap<String, String> parameters = FXCollections.observableMap(new HashMap<>());
+
+ public CommandImpl(String commandId, IEclipseContext context) {
+ this.commandId = commandId;
+ this.context = context;
+ this.parameters.addListener((Observable o) -> {
+ recalculateState();
+ });
+ }
+
+ @PostConstruct
+ void init(IEventBroker eventBroker) {
+ eventBroker.subscribe(ScopedObjectFactory.KEYMODIFED_TOPIC, e -> recalculateState());
+ eventBroker.subscribe(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, e -> {
+ recalculateState();
+ });
+ eventBroker.subscribe(UIEvents.Dirtyable.TOPIC_DIRTY, e -> recalculateState());
+ this.context.runAndTrack(new RunAndTrack() {
+
+ @Override
+ public boolean changed(IEclipseContext context) {
+ context.get(IServiceConstants.ACTIVE_CONTEXTS);
+ context.get(IServiceConstants.ACTIVE_SELECTION);
+ context.get(IServiceConstants.ACTIVE_PART);
+ recalculateState();
+ return true;
+ }
+ });
+ }
+
+ @Override
+ public void evaluate() {
+ recalculateState();
+ }
+
+ @Inject
+ public void setCommandService(CommandService commandService) {
+ this.commandService = commandService;
+ recalculateState();
+ }
+
+ @SuppressWarnings({ "unchecked", "null" })
+ void recalculateState() {
+ this.enabledProperty.set(this.commandService.canExecute(this.commandId, (Map<String, Object>) (Map<?, ?>) this.parameters));
+ }
+
+ @Override
+ public ReadOnlyBooleanProperty enabledProperty() {
+ return this.enabledProperty.getReadOnlyProperty();
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return this.enabledProperty.get();
+ }
+
+ @SuppressWarnings({ "null", "unchecked" })
+ @Override
+ public Optional<O> execute() {
+ return this.commandService.execute(this.commandId, (Map<String, Object>) (Map<?, ?>) this.parameters);
+ }
+
+ @Override
+ public ObservableMap<String, String> parameters() {
+ return this.parameters;
+ }
+
+ }
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/rendering/ElementRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/rendering/ElementRenderer.java
index c3b75bb..74d30f5 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/rendering/ElementRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.base/src/org/eclipse/fx/ui/workbench/base/rendering/ElementRenderer.java
@@ -17,7 +17,7 @@
/**
* Base interface implemented by all renderers
- *
+ *
* @param <M>
* the model element type
* @param <C>
@@ -25,8 +25,13 @@
*/
public interface ElementRenderer<M extends MUIElement, C> {
/**
+ * Event sent if a window is finally shown
+ */
+ public static final String TOPIC_WINDOW_SHOWN = "org/eclipse/fx/ui/workbench/base/rendering/window/shown"; //$NON-NLS-1$
+
+ /**
* Create the widget for the given model element
- *
+ *
* @param element
* the model element
* @return the widget created
@@ -35,7 +40,7 @@
/**
* Setup the context for rendering the element
- *
+ *
* @param element
* the element
* @return the context
@@ -44,7 +49,7 @@
/**
* Bind the widget and the element together
- *
+ *
* @param element
* the element
* @param widget
@@ -54,7 +59,7 @@
/**
* Process the elements content
- *
+ *
* @param element
* the element
*/
@@ -62,7 +67,7 @@
/**
* Post process the element
- *
+ *
* @param element
* the element
*/
@@ -70,7 +75,7 @@
/**
* Inform the that a direct child of the parentElement has been rendered
- *
+ *
* @param parentElement
* the parent
* @param element
@@ -80,7 +85,7 @@
/**
* Inform about destruction of the element
- *
+ *
* @param element
* the element
*/
@@ -88,7 +93,7 @@
/**
* Hide the child of the element
- *
+ *
* @param parent
* the element container
* @param element
@@ -98,7 +103,7 @@
/**
* Destroy the widget associated with the element
- *
+ *
* @param element
* the element
*/
@@ -106,7 +111,7 @@
/**
* Retrieve the model context for the given element
- *
+ *
* @param element
* the element
* @return the context
@@ -115,7 +120,7 @@
/**
* Focus the given element
- *
+ *
* @param element
* the element to focus
*/
@@ -123,7 +128,7 @@
/**
* Get the widget for the given elemenet
- *
+ *
* @param element
* the element
* @return the widget
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/META-INF/MANIFEST.MF
index a1bdf07..2652dd9 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fx
Bundle-SymbolicName: org.eclipse.fx.ui.workbench.fx;singleton:=true
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.core.contexts;bundle-version="1.1.0",
org.eclipse.e4.core.di;bundle-version="1.1.0",
@@ -20,35 +20,36 @@
org.eclipse.e4.core.di.extensions;bundle-version="0.12.0",
org.eclipse.fx.core
Import-Package: org.apache.commons.lang.text;version="2.6.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.databinding;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.function;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.osgi.util;version="2.6.0",
- org.eclipse.fx.ui.controls.dialog;version="2.6.0",
- org.eclipse.fx.ui.controls.stage;version="2.6.0",
- org.eclipse.fx.ui.dialogs;version="2.6.0",
- org.eclipse.fx.ui.keybindings;version="2.6.0",
- org.eclipse.fx.ui.keybindings.e4;version="2.6.0",
- org.eclipse.fx.ui.keybindings.service;version="2.6.0",
- org.eclipse.fx.ui.services;version="2.6.0",
- org.eclipse.fx.ui.services.commands;version="2.6.0",
- org.eclipse.fx.ui.services.dialog;version="2.6.0",
- org.eclipse.fx.ui.services.resources;version="2.6.0",
- org.eclipse.fx.ui.services.startup;version="2.6.0",
- org.eclipse.fx.ui.services.sync;version="2.6.0",
- org.eclipse.fx.ui.services.theme;version="2.6.0",
- org.eclipse.fx.ui.workbench.base;version="2.6.0",
- org.eclipse.fx.ui.workbench.base.rendering;version="2.6.0",
- org.eclipse.fx.ui.workbench.renderers.base.widget;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.databinding;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.function;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.osgi.util;version="3.0.0",
+ org.eclipse.fx.ui.controls.dialog;version="3.0.0",
+ org.eclipse.fx.ui.controls.stage;version="3.0.0",
+ org.eclipse.fx.ui.dialogs;version="3.0.0",
+ org.eclipse.fx.ui.keybindings;version="3.0.0",
+ org.eclipse.fx.ui.keybindings.e4;version="3.0.0",
+ org.eclipse.fx.ui.keybindings.service;version="3.0.0",
+ org.eclipse.fx.ui.services;version="3.0.0",
+ org.eclipse.fx.ui.services.commands;version="3.0.0",
+ org.eclipse.fx.ui.services.dialog;version="3.0.0",
+ org.eclipse.fx.ui.services.resources;version="3.0.0",
+ org.eclipse.fx.ui.services.startup;version="3.0.0",
+ org.eclipse.fx.ui.services.sync;version="3.0.0",
+ org.eclipse.fx.ui.services.theme;version="3.0.0",
+ org.eclipse.fx.ui.workbench.base;version="3.0.0",
+ org.eclipse.fx.ui.workbench.base.rendering;version="3.0.0",
+ org.eclipse.fx.ui.workbench.renderers.base.widget;version="3.0.0",
org.eclipse.osgi.service.environment;version="1.3.0",
org.osgi.framework;version="1.6.0",
org.osgi.service.component.annotations;version="1.2.0",
org.osgi.service.event;version="1.3.0"
-Export-Package: org.eclipse.fx.ui.workbench.fx;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
- org.eclipse.fx.ui.workbench.fx.key;version="2.6.0";x-internal:=true,
- org.eclipse.fx.ui.workbench.fx.perspective;version="2.6.0";x-internal:=true
+Export-Package: org.eclipse.fx.ui.workbench.fx;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
+ org.eclipse.fx.ui.workbench.fx.key;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.workbench.fx.perspective;version="3.0.0";x-internal:=true,
+ org.eclipse.fx.ui.workbench.fx.services;version="3.0.0";x-internal:=true
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.workbench.fx.internal.UISynchronizeImpl.xml,
OSGI-INF/services/org.eclipse.fx.ui.workbench.fx.key.FxKeyLookup.xml,
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/plugin.xml b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/plugin.xml
index 7c2c085..bdb24ef 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/plugin.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/plugin.xml
@@ -21,7 +21,7 @@
thread="main"
visible="true">
<run
- class="org.eclipse.fx.ui.workbench.fx.E4Application">
+ class="org.eclipse.fx.ui.workbench.fx.E4MainThreadApplication">
</run>
</application>
</extension>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/pom.xml b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/pom.xml
index 950899a..5440573 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4Application.java b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4Application.java
index ccdc445..8f981a7 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4Application.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4Application.java
@@ -32,6 +32,7 @@
import org.eclipse.fx.ui.services.resources.GraphicsLoader;
import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService;
import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService.DefaultProgressState;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService.ProgressState;
import org.eclipse.fx.ui.services.sync.UISynchronize;
import org.eclipse.fx.ui.services.theme.Theme;
import org.eclipse.fx.ui.services.theme.ThemeManager;
@@ -72,6 +73,8 @@
Object returnValue;
protected EventAdmin eventAdmin;
+ StartupProgressTrackerService startupService;
+
/**
* Gets the {@link E4Application}.
* <p>
@@ -92,17 +95,18 @@
public Object start(IApplicationContext context) throws Exception {
SELF = this;
this.applicationContext = context;
-
+
Bundle b = FrameworkUtil.getBundle(AbstractJFXApplication.class);
BundleContext bundleContext = b.getBundleContext();
ServiceReference<EventAdmin> ref = bundleContext.getServiceReference(EventAdmin.class);
if (ref != null) {
this.eventAdmin = bundleContext.getService(ref);
}
-
+
ServiceReference<StartupProgressTrackerService> serviceReference = bundleContext.getServiceReference(StartupProgressTrackerService.class);
if( serviceReference != null ) {
- bundleContext.getService(serviceReference).osgiApplicationLaunched(this.applicationContext);
+ this.startupService = bundleContext.getService(serviceReference);
+ this.startupService.osgiApplicationLaunched(this.applicationContext);
} else {
// if the service is not available we make sure to bring the splash down
this.applicationContext.applicationRunning();
@@ -134,18 +138,8 @@
* {@link Application}.
*/
public void jfxStart(IApplicationContext context, Application jfxApplication, Stage primaryStage) {
- Bundle b = FrameworkUtil.getBundle(AbstractJFXApplication.class);
- BundleContext bundleContext = b.getBundleContext();
+ updateStartupState(DefaultProgressState.JAVAFX_INITIALIZED);
- ServiceReference<StartupProgressTrackerService> serviceReference = bundleContext.getServiceReference(StartupProgressTrackerService.class);
- StartupProgressTrackerService service = null;
- if( serviceReference != null ) {
- service = bundleContext.getService(serviceReference);
- service.stateReached(DefaultProgressState.JAVAFX_INITIALIZED);
- }
-
- StartupProgressTrackerService fservice = service;
-
Runnable startRunnable = new Runnable() {
@Override
public void run() {
@@ -171,12 +165,10 @@
E4Application.this.instanceLocation = (Location) wbContext.get(E4Workbench.INSTANCE_LOCATION);
try {
if (!checkInstanceLocation(E4Application.this.instanceLocation, wbContext)) {
- if( fservice != null ) {
- fservice.stateReached(DefaultProgressState.LOCATION_CHECK_FAILED);
- }
+ updateStartupState(DefaultProgressState.LOCATION_CHECK_FAILED);
return;
}
-
+
// Create and run the UI (if any)
workbench.createAndRunUI(E4Application.this.workbench.getApplication());
} finally {
@@ -331,14 +323,7 @@
protected void postJfxStarted(final IApplicationContext context) {
final Map<String, Object> map = new HashMap<String, Object>();
sendEvent(Constants.APPLICATION_LAUNCHED, map);
-
- Bundle b = FrameworkUtil.getBundle(AbstractJFXApplication.class);
- BundleContext bundleContext = b.getBundleContext();
-
- ServiceReference<StartupProgressTrackerService> serviceReference = bundleContext.getServiceReference(StartupProgressTrackerService.class);
- if( serviceReference != null ) {
- bundleContext.getService(serviceReference).stateReached(DefaultProgressState.WORKBENCH_GUI_SHOWING);
- }
+ updateStartupState(DefaultProgressState.WORKBENCH_GUI_SHOWING);
}
@Override
@@ -346,6 +331,16 @@
return JFXRealm.createDefault();
}
+ /**
+ * Update the startup progress state
+ * @param progressState
+ */
+ protected void updateStartupState(ProgressState progressState) {
+ if( this.startupService != null ) {
+ this.startupService.stateReached(progressState);
+ }
+ }
+
@Override
protected IResourceUtilities<Image> createResourceUtility(final IEclipseContext appContext) {
return new IResourceUtilities<Image>() {
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4MainThreadApplication.java b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4MainThreadApplication.java
new file mode 100644
index 0000000..bbfc007
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/E4MainThreadApplication.java
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.workbench.fx;
+
+import java.util.concurrent.CountDownLatch;
+
+import org.eclipse.fx.core.Util;
+import org.eclipse.fx.core.databinding.JFXRealm;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService.DefaultProgressState;
+
+import com.sun.javafx.application.PlatformImpl;
+
+import javafx.application.Application;
+import javafx.stage.Stage;
+
+/**
+ * An E4Application who assumes to be launched at the same thread as the
+ * OSGi-Launcher
+ */
+@SuppressWarnings("restriction")
+public class E4MainThreadApplication extends E4Application {
+ static CountDownLatch STARTUP_LATCH = new CountDownLatch(1);
+ static CountDownLatch SHUTDOWN_LATCH = new CountDownLatch(1);
+
+ void super_launchE4JavaFxApplication() throws Exception {
+ super.launchE4JavaFxApplication();
+ }
+
+ @Override
+ protected void launchE4JavaFxApplication() throws Exception {
+ if (Util.isMacOS()) {
+ PlatformImpl.addListener(new PlatformImpl.FinishListener() {
+
+ @Override
+ public void idle(boolean implicitExit) {
+ jfxStop();
+ PlatformImpl.removeListener(this);
+ }
+
+ @Override
+ public void exitCalled() {
+ // nothing to do
+ }
+ });
+
+ PlatformImpl.startup(() -> {
+ JFXRealm.createDefault();
+ jfxStart(getApplicationContext(), null, null);
+ updateStartupState(DefaultProgressState.JAVAFX_INITIALIZED_LAUNCHER_THREAD);
+ });
+ } else {
+ Thread t = new Thread() {
+ @Override
+ public void run() {
+ try {
+ super_launchE4JavaFxApplication();
+ } catch (Exception e) {
+ SHUTDOWN_LATCH.countDown();
+ e.printStackTrace();
+ }
+ }
+ };
+ t.start();
+
+ STARTUP_LATCH.await();
+ updateStartupState(DefaultProgressState.JAVAFX_INITIALIZED_LAUNCHER_THREAD);
+ SHUTDOWN_LATCH.await();
+ }
+ }
+
+ @Override
+ protected Class<? extends Application> getJfxApplicationClass() {
+ return ExtendedE4Application.class;
+ }
+
+ /**
+ * Extended application used on none OS-X system to appropriately handle
+ * lifecycle semantics
+ */
+ public static class ExtendedE4Application extends DefaultJFXApp {
+ @Override
+ public void start(Stage primaryStage) throws Exception {
+ STARTUP_LATCH.countDown();
+ super.start(primaryStage);
+ }
+
+ @Override
+ public void stop() throws Exception {
+ super.stop();
+ SHUTDOWN_LATCH.countDown();
+ }
+ }
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/PartRenderingEngine.java b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/PartRenderingEngine.java
index d19e84c..9f8aca8 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/PartRenderingEngine.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/PartRenderingEngine.java
@@ -347,13 +347,12 @@
// Check if the control is already rendered
if (renderer != null) {
- if (parentRenderer != null && container != null) {
+ if (!(element instanceof MWindow) && parentRenderer != null && container != null) {
try {
parentRenderer.hideChild(container, element);
} catch (Throwable t) {
this.logger.error(t.getMessage(), t);
}
-
}
// Need clean up everything below
@@ -380,6 +379,13 @@
// now remove the selected element
removeGui(selectedElement);
}
+ if ((element instanceof MWindow) && parentRenderer != null && container != null) {
+ try {
+ parentRenderer.hideChild(container, element);
+ } catch (Throwable t) {
+ this.logger.error(t.getMessage(), t);
+ }
+ }
if (element instanceof MContribution) {
MContribution contribution = (MContribution) element;
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/services/InteractiveStartupService.java b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/services/InteractiveStartupService.java
new file mode 100644
index 0000000..292f308
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/services/InteractiveStartupService.java
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2016 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.fx.ui.workbench.fx.services;
+
+import java.net.URL;
+import java.util.concurrent.CountDownLatch;
+
+import org.eclipse.equinox.app.IApplicationContext;
+import org.eclipse.fx.core.Util;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService;
+import org.osgi.framework.Bundle;
+
+import com.sun.javafx.tk.Toolkit;
+
+import javafx.animation.KeyFrame;
+import javafx.animation.Timeline;
+import javafx.scene.Scene;
+import javafx.scene.image.Image;
+import javafx.stage.Screen;
+import javafx.stage.Stage;
+import javafx.stage.StageStyle;
+import javafx.util.Duration;
+
+/**
+ * Base class to implement a service to implement an interactive startup experience
+ */
+public abstract class InteractiveStartupService implements StartupProgressTrackerService {
+ private IApplicationContext applicationContext;
+ private Stage stage;
+
+ private CountDownLatch hideLatch = new CountDownLatch(1);
+
+ @Override
+ public OSGiRV osgiApplicationLaunched(IApplicationContext applicationContext) {
+ this.applicationContext = applicationContext;
+ return OSGiRV.CONTINUE;
+ }
+
+ protected abstract Scene createScene(IApplicationContext applicationContext, Image splashImage);
+
+ protected void show() {
+ if( Util.isMacOS() ) {
+ this.stage.show();
+ this.applicationContext.applicationRunning();
+ } else {
+ this.stage.setOnShown( e -> {
+ new Timeline(new KeyFrame(Duration.millis(100), (ev) -> {
+ Toolkit.getToolkit().exitNestedEventLoop(this, null);
+ this.hideLatch.countDown();
+ })).play();
+ });
+ this.stage.show();
+ Toolkit.getToolkit().enterNestedEventLoop(this);
+ }
+ }
+
+ @Override
+ public void stateReached(ProgressState state) {
+ if( state == DefaultProgressState.JAVAFX_INITIALIZED ) {
+ Bundle bundle = this.applicationContext.getBrandingBundle();
+ URL url = bundle.getResource("splash.bmp"); //$NON-NLS-1$
+ if( url != null ) {
+ Image img = new Image(url.toExternalForm());
+ this.stage = new Stage(StageStyle.TRANSPARENT);
+ this.stage.setScene(createScene(this.applicationContext, img));
+ if( Util.isMacOS() ) {
+ double x = Screen.getPrimary().getVisualBounds().getWidth() / 2 - img.getWidth() / 2 - 1;
+ double y = 227;
+ this.stage.setX(x);
+ this.stage.setY(y);
+ show();
+ } else {
+ double x = Screen.getPrimary().getBounds().getWidth() / 2 - img.getWidth() / 2 - 1;
+ double y = Screen.getPrimary().getBounds().getHeight() / 2 - img.getHeight() / 2;
+ this.stage.setX(x);
+ this.stage.setY(y);
+ show();
+ }
+ }
+ } else if( state == DefaultProgressState.JAVAFX_INITIALIZED_LAUNCHER_THREAD ) {
+ if( ! Util.isMacOS() ) {
+ try {
+ this.hideLatch.await();
+ } catch (InterruptedException e) {
+ // nothing to do
+ }
+ this.applicationContext.applicationRunning();
+ }
+
+ } else if( state == DefaultProgressState.WORKBENCH_GUI_SHOWN ) {
+ this.stage.hide();
+ }
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/services/NativeSplashStartupService.java b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/services/NativeSplashStartupService.java
new file mode 100644
index 0000000..b130260
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.fx/src/org/eclipse/fx/ui/workbench/fx/services/NativeSplashStartupService.java
@@ -0,0 +1,41 @@
+package org.eclipse.fx.ui.workbench.fx.services;
+
+import java.util.concurrent.CountDownLatch;
+
+import org.eclipse.equinox.app.IApplicationContext;
+import org.eclipse.fx.core.Util;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService.DefaultProgressState;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService.OSGiRV;
+
+public class NativeSplashStartupService implements StartupProgressTrackerService {
+ private IApplicationContext applicationContext;
+ private CountDownLatch hideLatch = new CountDownLatch(1);
+
+ @Override
+ public OSGiRV osgiApplicationLaunched(IApplicationContext applicationContext) {
+ this.applicationContext = applicationContext;
+ return OSGiRV.CONTINUE;
+ }
+
+ @Override
+ public void stateReached(ProgressState state) {
+ if( state == DefaultProgressState.JAVAFX_INITIALIZED_LAUNCHER_THREAD ) {
+ if( ! Util.isMacOS() ) {
+ try {
+ this.hideLatch.await();
+ } catch (InterruptedException e) {
+ // nothing to do
+ }
+ this.applicationContext.applicationRunning();
+ }
+ } else if( state == DefaultProgressState.WORKBENCH_GUI_SHOWN ) {
+ if( ! Util.isMacOS() ) {
+ this.hideLatch.countDown();
+ } else {
+ this.applicationContext.applicationRunning();
+ }
+ }
+ }
+
+}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/META-INF/MANIFEST.MF
index a4d5360..3880986 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Base
Bundle-SymbolicName: org.eclipse.fx.ui.workbench.renderers.base
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="1.1.0",
org.eclipse.e4.core.contexts;bundle-version="1.1.0",
org.eclipse.e4.core.services;bundle-version="1.0.0",
@@ -19,21 +19,21 @@
Import-Package: com.google.common.base;version="15.0.0",
javax.annotation;version="1.0.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.di;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.ui.keybindings;version="2.6.0",
- org.eclipse.fx.ui.keybindings.e4;version="2.6.0",
- org.eclipse.fx.ui.workbench.base.rendering;version="2.6.0",
- org.eclipse.fx.ui.workbench.services;version="2.6.0",
- org.eclipse.fx.ui.workbench.services.lifecycle.annotation;version="2.6.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.di;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.keybindings;version="3.0.0",
+ org.eclipse.fx.ui.keybindings.e4;version="3.0.0",
+ org.eclipse.fx.ui.workbench.base.rendering;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services.lifecycle.annotation;version="3.0.0",
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
org.osgi.service.event;version="1.3.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: org.eclipse.fx.ui.workbench.renderers.base;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
- org.eclipse.fx.ui.workbench.renderers.base.addons;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
- org.eclipse.fx.ui.workbench.renderers.base.services;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
- org.eclipse.fx.ui.workbench.renderers.base.widget;version="2.6.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx"
+Export-Package: org.eclipse.fx.ui.workbench.renderers.base;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
+ org.eclipse.fx.ui.workbench.renderers.base.addons;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
+ org.eclipse.fx.ui.workbench.renderers.base.services;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx",
+ org.eclipse.fx.ui.workbench.renderers.base.widget;version="3.0.0";x-friends:="org.eclipse.fx.ui.workbench.renderers.fx"
Bundle-Vendor: Eclipse.org
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.workbench.renderers.base.internal.MaximizationServiceContextFunction.xml
Bundle-ActivationPolicy: lazy
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/pom.xml b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/pom.xml
index 54c20f3..acc9f44 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseWindowRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseWindowRenderer.java
index 6ec8ed7..a9855df 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseWindowRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/BaseWindowRenderer.java
@@ -27,7 +27,6 @@
import org.eclipse.e4.ui.model.application.MApplicationElement;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
-import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimBar;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimmedWindow;
@@ -317,8 +316,19 @@
// if we don't we see strange invalid context types sticking
// around in PartRenderingEngine.clearContext
MWindow element = param.getDomElement();
- if (element != null && !((MApplicationElement) element.getParent() instanceof MApplication)) {
- element.setToBeRendered(false);
+ if (element != null) {
+ if( !((MApplicationElement) element.getParent() instanceof MApplication) ) {
+ // If this is not a top level hide it
+ BaseWindowRenderer.this.presentationEngine.removeGui(element); // Workarund for a Bug in EPartService-Impl causing exceptions
+ element.setToBeRendered(false);
+ } else {
+ if( element.getParent().getChildren().stream().filter( c -> c.isToBeRendered() ).count() > 1 ) {
+ BaseWindowRenderer.this.presentationEngine.removeGui(element); // Workarund for a Bug in EPartService-Impl causing exceptions
+ element.setToBeRendered(false);
+ } else {
+ BaseWindowRenderer.this.presentationEngine.removeGui(element);
+ }
+ }
}
if (element != null && shouldRemoveWindowFromModel(element)) {
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WStack.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WStack.java
index bfd5520..ebe120c 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WStack.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.base/src/org/eclipse/fx/ui/workbench/renderers/base/widget/WStack.java
@@ -33,6 +33,10 @@
*/
public static final String TAG_PAGINATION = "fx_pagination"; //$NON-NLS-1$
/**
+ * Tag to use a StackPane control
+ */
+ public static final String TAG_STACKPANE = "fx_stackpane"; //$NON-NLS-1$
+ /**
* None of the tabs can be closed
* @since 1.2
*/
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/META-INF/MANIFEST.MF
index 9b674b5..450277f 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fx
Bundle-SymbolicName: org.eclipse.fx.ui.workbench.renderers.fx
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="0.10.1",
org.eclipse.core.commands;bundle-version="3.6.0",
@@ -20,30 +20,30 @@
Import-Package: com.google.common.base;version="15.0.0",
javax.annotation;version="1.0.0";resolution:=optional,
javax.inject;version="1.0.0",
- org.eclipse.fx.core;version="2.6.0",
- org.eclipse.fx.core.log;version="2.6.0",
- org.eclipse.fx.ui.controls;version="2.6.0",
- org.eclipse.fx.ui.controls.dialog;version="2.6.0",
- org.eclipse.fx.ui.controls.dnd;version="2.6.0",
- org.eclipse.fx.ui.controls.markers;version="2.6.0",
- org.eclipse.fx.ui.controls.stage;version="2.6.0",
- org.eclipse.fx.ui.controls.tabpane;version="2.6.0",
- org.eclipse.fx.ui.di;version="2.6.0",
- org.eclipse.fx.ui.dialogs;version="2.6.0",
- org.eclipse.fx.ui.keybindings;version="2.6.0",
- org.eclipse.fx.ui.panes;version="2.6.0",
- org.eclipse.fx.ui.services;version="2.6.0",
- org.eclipse.fx.ui.services.dialog;version="2.6.0",
- org.eclipse.fx.ui.services.resources;version="2.6.0",
- org.eclipse.fx.ui.services.sync;version="2.6.0",
- org.eclipse.fx.ui.services.theme;version="2.6.0",
- org.eclipse.fx.ui.workbench.base.rendering;version="2.6.0",
- org.eclipse.fx.ui.workbench.fx;version="2.6.0",
- org.eclipse.fx.ui.workbench.fx.key;version="2.6.0",
- org.eclipse.fx.ui.workbench.renderers.base;version="2.6.0",
- org.eclipse.fx.ui.workbench.renderers.base.services;version="2.6.0",
- org.eclipse.fx.ui.workbench.renderers.base.widget;version="2.6.0",
- org.eclipse.fx.ui.workbench.services;version="2.6.0"
+ org.eclipse.fx.core;version="3.0.0",
+ org.eclipse.fx.core.log;version="3.0.0",
+ org.eclipse.fx.ui.controls;version="3.0.0",
+ org.eclipse.fx.ui.controls.dialog;version="3.0.0",
+ org.eclipse.fx.ui.controls.dnd;version="3.0.0",
+ org.eclipse.fx.ui.controls.markers;version="3.0.0",
+ org.eclipse.fx.ui.controls.stage;version="3.0.0",
+ org.eclipse.fx.ui.controls.tabpane;version="3.0.0",
+ org.eclipse.fx.ui.di;version="3.0.0",
+ org.eclipse.fx.ui.dialogs;version="3.0.0",
+ org.eclipse.fx.ui.keybindings;version="3.0.0",
+ org.eclipse.fx.ui.panes;version="3.0.0",
+ org.eclipse.fx.ui.services;version="3.0.0",
+ org.eclipse.fx.ui.services.dialog;version="3.0.0",
+ org.eclipse.fx.ui.services.resources;version="3.0.0",
+ org.eclipse.fx.ui.services.sync;version="3.0.0",
+ org.eclipse.fx.ui.services.theme;version="3.0.0",
+ org.eclipse.fx.ui.workbench.base.rendering;version="3.0.0",
+ org.eclipse.fx.ui.workbench.fx;version="3.0.0",
+ org.eclipse.fx.ui.workbench.fx.key;version="3.0.0",
+ org.eclipse.fx.ui.workbench.renderers.base;version="3.0.0",
+ org.eclipse.fx.ui.workbench.renderers.base.services;version="3.0.0",
+ org.eclipse.fx.ui.workbench.renderers.base.widget;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services;version="3.0.0"
Service-Component: OSGI-INF/services/org.eclipse.fx.ui.workbench.renderers.fx.internal.FXDialogServiceFunction.xml,
OSGI-INF/services/org.eclipse.fx.ui.workbench.renderers.fx.internal.DefaultDnDFeedback.xml,
OSGI-INF/services/org.eclipse.fx.ui.workbench.renderers.fx.internal.PartPopupMenuServiceFunction.xml
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/pom.xml b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/pom.xml
index 2fc5e4c..d062e15 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefPartRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefPartRenderer.java
index 56b094c..c9b639a 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefPartRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefPartRenderer.java
@@ -76,7 +76,7 @@
WPart<BorderPane, Node, Node> part = ((WPart<BorderPane, Node, Node>) element.getWidget());
if (part == null)
return;
- if (!checkFocusControl((Node) part.getWidget())) {
+ if (!checkFocusControl((Node) part.getStaticLayoutNode())) {
Node node = (Node) part.getWidget();
node.requestFocus();
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java
index 01a30df..987920d 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefSashRenderer.java
@@ -22,9 +22,7 @@
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainer;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainerElement;
import org.eclipse.e4.ui.workbench.UIEvents;
-import org.eclipse.fx.ui.panes.GridData;
-import org.eclipse.fx.ui.panes.GridData.Alignment;
-import org.eclipse.fx.ui.panes.GridLayoutPane;
+import org.eclipse.fx.core.log.Logger.Level;
import org.eclipse.fx.ui.panes.SashPane;
import org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer;
import org.eclipse.fx.ui.workbench.renderers.base.BaseSashRenderer;
@@ -42,6 +40,10 @@
import javafx.scene.Node;
import javafx.scene.control.SplitPane;
import javafx.scene.control.SplitPane.Divider;
+import javafx.scene.layout.ColumnConstraints;
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.Priority;
+import javafx.scene.layout.RowConstraints;
/**
* default renderer for sash
@@ -60,67 +62,40 @@
}
}
- static class WFixedSashImpl extends WLayoutedWidgetImpl<GridLayoutPane, Node, MPartSashContainer> implements WSash<Node> {
+ static class WFixedSashImpl extends WLayoutedWidgetImpl<GridPane, Node, MPartSashContainer> implements WSash<Node> {
- private static @NonNull GridData toGridData(Map<String, String> dataMap) {
- GridData gd = new GridData();
- if (dataMap.containsKey(WSash.FIXED_LAYOUT_WIDTH)) {
- gd.widthHintProperty().set(Integer.parseInt(dataMap.get(WSash.FIXED_LAYOUT_WIDTH)));
- if (!dataMap.containsKey(WSash.FIXED_LAYOUT_HEIGHT)) {
- gd.grabExcessVerticalSpaceProperty().set(true);
- gd.verticalAlignmentProperty().set(Alignment.FILL);
- }
- } else {
- gd.horizontalAlignmentProperty().set(Alignment.FILL);
- }
+ static RowConstraints toRowConstraint(Map<String, String> dataMap) {
+ RowConstraints r;
if (dataMap.containsKey(WSash.FIXED_LAYOUT_HEIGHT)) {
- gd.heightHintProperty().set(Integer.parseInt(dataMap.get(WSash.FIXED_LAYOUT_HEIGHT)));
- if (!dataMap.containsKey(WSash.FIXED_LAYOUT_WIDTH)) {
- gd.grabExcessHorizontalSpaceProperty().set(true);
- gd.horizontalAlignmentProperty().set(Alignment.FILL);
- }
+ int h = Integer.parseInt(dataMap.get(WSash.FIXED_LAYOUT_HEIGHT));
+ r = new RowConstraints(h);
} else {
- gd.verticalAlignmentProperty().set(Alignment.FILL);
+ r = new RowConstraints();
}
- if (dataMap.containsKey(WSash.FIXED_LAYOUT_GRAB_HORIZONTAL)) {
- gd.grabExcessHorizontalSpaceProperty().set(Boolean.parseBoolean(dataMap.get(WSash.FIXED_LAYOUT_GRAB_HORIZONTAL)));
- gd.horizontalAlignmentProperty().set(Alignment.FILL);
+ if( dataMap.containsKey(WSash.FIXED_LAYOUT_GRAB_VERTICAL) && Boolean.parseBoolean(dataMap.get(WSash.FIXED_LAYOUT_GRAB_VERTICAL)) ) {
+ r.setVgrow(Priority.ALWAYS);
}
- if (dataMap.containsKey(WSash.FIXED_LAYOUT_GRAB_VERTICAL)) {
- gd.grabExcessVerticalSpaceProperty().set(Boolean.parseBoolean(dataMap.get(WSash.FIXED_LAYOUT_GRAB_VERTICAL)));
- gd.verticalAlignmentProperty().set(Alignment.FILL);
- }
-
- return gd;
+ return r;
}
+ static ColumnConstraints toColConstraint(Map<String, String> dataMap) {
+ ColumnConstraints c;
- private final @NonNull MPartSashContainer mPartSashContainer;
-
- @Inject
- public WFixedSashImpl(@NonNull @Named(BaseRenderer.CONTEXT_DOM_ELEMENT) MPartSashContainer mPartSashContainer) {
- this.mPartSashContainer = mPartSashContainer;
- }
-
- @Override
- public void addItem(WLayoutedWidget<MPartSashContainerElement> widget) {
- Node n = (Node) widget.getStaticLayoutNode();
-
- GridLayoutPane p = getWidget();
- MPartSashContainer element = getDomElement();
- if ( element != null && element.isHorizontal()) {
- p.setNumColumns(p.getNumColumns() + 1);
+ if( dataMap.containsKey(WSash.FIXED_LAYOUT_WIDTH) ) {
+ int w = Integer.parseInt(dataMap.get(WSash.FIXED_LAYOUT_WIDTH));
+ c = new ColumnConstraints(w);
+ } else {
+ c = new ColumnConstraints();
}
- MPartSashContainerElement domElement2 = widget.getDomElement();
- if( domElement2 != null ) {
- GridData gd = toGridData(domElement2.getPersistedState());
- GridLayoutPane.setConstraint(n, gd);
+ if (dataMap.containsKey(WSash.FIXED_LAYOUT_GRAB_HORIZONTAL) && Boolean.parseBoolean(dataMap.get(WSash.FIXED_LAYOUT_GRAB_HORIZONTAL)) ) {
+ c.setHgrow(Priority.ALWAYS);
}
- p.getChildren().add(n);
+
+ return c;
}
@Override
@@ -128,79 +103,176 @@
return getWidget().getChildren().size();
}
+ private static void fixIndex(GridPane p, MPartSashContainer c) {
+ if( c.isHorizontal() ) {
+ int i = 0;
+ for( Node n : p.getChildren() ) {
+ GridPane.setColumnIndex(n, Integer.valueOf(i));
+
+ Map<String, String> map = c.getChildren().get(i).getPersistedState();
+
+ if( map.containsKey(WSash.FIXED_LAYOUT_GRAB_VERTICAL) ) {
+ if( Boolean.parseBoolean(map.get(WSash.FIXED_LAYOUT_GRAB_VERTICAL)) ) {
+ GridPane.setFillHeight(n, Boolean.TRUE);
+ GridPane.setVgrow(n, Priority.ALWAYS);
+ }
+ } else {
+ GridPane.setFillHeight(n, Boolean.TRUE);
+ GridPane.setVgrow(n, Priority.ALWAYS);
+ }
+ i++;
+ }
+ } else {
+ int i = 0;
+ for( Node n : p.getChildren() ) {
+ GridPane.setRowIndex(n, Integer.valueOf(i));
+ Map<String, String> map = c.getChildren().get(i).getPersistedState();
+
+ if( map.containsKey(WSash.FIXED_LAYOUT_GRAB_HORIZONTAL) ) {
+ if( Boolean.parseBoolean(map.get(WSash.FIXED_LAYOUT_GRAB_HORIZONTAL)) ) {
+ GridPane.setHgrow(n, Priority.ALWAYS);
+ GridPane.setFillWidth(n, Boolean.TRUE);
+ }
+ } else {
+ GridPane.setHgrow(n, Priority.ALWAYS);
+ GridPane.setFillWidth(n, Boolean.TRUE);
+ }
+
+ i++;
+ }
+ }
+ }
+
+ @Override
+ public void addItem(WLayoutedWidget<MPartSashContainerElement> widget) {
+ Node n = (Node) widget.getStaticLayoutNode();
+
+ GridPane p = getWidget();
+ MPartSashContainer domElement = getDomElement();
+ MPartSashContainerElement widgetElement = widget.getDomElement();
+
+ if( domElement == null ) {
+ this.logger.log(Level.ERROR, "Could not find DOM element for '"+this+"'"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
+
+ if( widgetElement == null ) {
+ this.logger.log(Level.ERROR, "Could not find DOM element for '"+widget+"'"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
+
+ if( domElement.isHorizontal() ) {
+ p.getColumnConstraints().add(toColConstraint(widgetElement.getPersistedState()));
+ } else {
+ p.getRowConstraints().add(toRowConstraint(widgetElement.getPersistedState()));
+ }
+ p.getChildren().add(n);
+
+ fixIndex(p, domElement);
+ }
+
@Override
public void addItems(List<WLayoutedWidget<MPartSashContainerElement>> list) {
List<Node> nodeList = new ArrayList<Node>();
- GridLayoutPane p = getWidget();
+ GridPane p = getWidget();
+
+ MPartSashContainer domElement = getDomElement();
+
+ if( domElement == null ) {
+ this.logger.log(Level.ERROR, "Could not find DOM element for '"+this+"'"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
for (WLayoutedWidget<MPartSashContainerElement> w : list) {
Node n = (Node) w.getStaticLayoutNode();
- MPartSashContainerElement element = w.getDomElement();
- if( element != null ) {
- GridData gd = toGridData(element.getPersistedState());
- GridLayoutPane.setConstraint(n, gd);
+ MPartSashContainerElement widgetElement = w.getDomElement();
+ if( widgetElement != null ) {
+ if( domElement.isHorizontal() ) {
+ p.getColumnConstraints().add(toColConstraint(widgetElement.getPersistedState()));
+ } else {
+ p.getRowConstraints().add(toRowConstraint(widgetElement.getPersistedState()));
+ }
}
nodeList.add(n);
}
- MPartSashContainer element = getDomElement();
- if (element != null && element.isHorizontal()) {
- p.setNumColumns(p.getNumColumns() + nodeList.size());
- }
-
p.getChildren().addAll(nodeList);
+ fixIndex(p,domElement);
}
@Override
public void addItems(int index, List<WLayoutedWidget<MPartSashContainerElement>> list) {
List<Node> nodeList = new ArrayList<Node>();
- GridLayoutPane p = getWidget();
+ GridPane p = getWidget();
+
+ MPartSashContainer domElement = getDomElement();
+ if( domElement == null ) {
+ this.logger.log(Level.ERROR, "Could not find DOM element for '"+this+"'"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
+
+ List<ColumnConstraints> columnConstraints = new ArrayList<>();
+ List<RowConstraints> rowConstraints = new ArrayList<>();
for (WLayoutedWidget<MPartSashContainerElement> w : list) {
Node n = (Node) w.getStaticLayoutNode();
MPartSashContainerElement element = w.getDomElement();
if( element != null ) {
- GridData gd = toGridData(element.getPersistedState());
- GridLayoutPane.setConstraint(n, gd);
+ if( domElement.isHorizontal() ) {
+ columnConstraints.add(toColConstraint(element.getPersistedState()));
+ } else {
+ rowConstraints.add(toRowConstraint(element.getPersistedState()));
+ }
+ } else {
+ this.logger.log(Level.ERROR, "Could not find DOM element for '"+w+"'"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
}
+
nodeList.add(n);
}
- MPartSashContainer element = getDomElement();
- if (element != null && element.isHorizontal()) {
- p.setNumColumns(p.getNumColumns() + nodeList.size());
+ if( domElement.isHorizontal() ) {
+ p.getColumnConstraints().addAll(index, columnConstraints);
+ } else {
+ p.getRowConstraints().addAll(index,rowConstraints);
}
p.getChildren().addAll(index, nodeList);
+ fixIndex(p, domElement);
}
@Override
public void removeItem(WLayoutedWidget<MPartSashContainerElement> widget) {
Node n = (Node) widget.getStaticLayoutNode();
- GridLayoutPane p = getWidget();
+ GridPane p = getWidget();
MPartSashContainer domElement = getDomElement();
- if( domElement != null && domElement.isHorizontal() ) {
- p.setNumColumns(p.getNumColumns() - 1);
+ if( domElement == null ) {
+ this.logger.log(Level.ERROR, "Could not find DOM element for '"+this+"'"); //$NON-NLS-1$ //$NON-NLS-2$
+ return;
+ }
+
+ int idx = p.getChildren().indexOf(n);
+
+ if( domElement.isHorizontal() ) {
+ p.getColumnConstraints().remove(idx);
+ } else {
+ p.getRowConstraints().remove(idx);
}
p.getChildren().remove(n);
+ fixIndex(p, domElement);
}
@Override
- public GridLayoutPane getWidgetNode() {
+ public GridPane getWidgetNode() {
return getWidget();
}
@Override
- protected GridLayoutPane createWidget() {
- GridLayoutPane p = new GridLayoutPane();
- p.setMarginWidth(0);
- p.setMarginHeight(0);
- p.setHorizontalSpacing(0);
- p.setVerticalSpacing(0);
- p.setNumColumns(this.mPartSashContainer.isHorizontal() ? 0 : 1);
+ protected GridPane createWidget() {
+ GridPane p = new GridPane();
return p;
}
@@ -315,17 +387,9 @@
return getWidget();
}
- private static void setResizableWithParent(WLayoutedWidget widget) {
- MUIElement domElement = widget.getDomElement();
- if( domElement != null ) {
- SplitPane.setResizableWithParent((Node)widget.getStaticLayoutNode(), ! domElement.getTags().contains(WSash.TAG_NO_AUTO_RESIZE));
- }
- }
-
@Override
public void addItem(WLayoutedWidget<MPartSashContainerElement> widget) {
SplitPane p = getWidget();
- setResizableWithParent(widget);
p.getItems().add((Node) widget.getStaticLayoutNode());
this.items.add(widget);
updateDividers();
@@ -336,7 +400,6 @@
SplitPane p = getWidget();
List<Node> l = new ArrayList<Node>();
for (WLayoutedWidget<MPartSashContainerElement> i : list) {
- setResizableWithParent(i);
l.add((Node) i.getStaticLayoutNode());
}
p.getItems().addAll(index, l);
@@ -349,7 +412,6 @@
SplitPane p = getWidget();
List<Node> l = new ArrayList<Node>();
for (WLayoutedWidget<MPartSashContainerElement> i : list) {
- setResizableWithParent(i);
l.add((Node) i.getStaticLayoutNode());
}
p.getItems().addAll(l);
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefStackRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefStackRenderer.java
index b213fc6..acab0dd 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefStackRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefStackRenderer.java
@@ -13,6 +13,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@@ -74,6 +75,8 @@
protected Class<? extends WStack<Node, Object, Node>> getWidgetClass(MPartStack stack) {
if (stack.getTags().contains(WStack.TAG_PAGINATION)) {
return PaginationWidgetImpl.class;
+ } else if (stack.getTags().contains(WStack.TAG_STACKPANE)) {
+ return StackPaneWidgetImpl.class;
} else {
return StackWidgetImpl.class;
}
@@ -695,4 +698,176 @@
this.initCallback = null;
}
}
+
+ static class StackPaneWidgetImpl extends WLayoutedWidgetImpl<Node, Node, MPartStack> implements WStack<Node, Object, Node> {
+ @NonNull
+ List<@NonNull WStackItem<Object, Node>> items = new ArrayList<>();
+ @Nullable
+ WCallback<WStackItem<Object, Node>, Void> mouseSelectedItemCallback;
+
+ @Override
+ public void setMinMaxCallback(WCallback<WMinMaxState, Void> minMaxCallback) {
+ // TODO Auto-generated method stub
+ }
+
+ @Override
+ public void setMinMaxState(WMinMaxState state) {
+ // TODO Auto-generated method stub
+ }
+
+ @Override
+ public Class<? extends WStackItem<Object, Node>> getStackItemClass() {
+ return StackPaneItemImpl.class;
+ }
+
+ @Override
+ public StackPane getWidget() {
+ return (StackPane) super.getWidget();
+ }
+
+ private void addChildNode(WStackItem<Object, Node> item) {
+ addStackPaneItem((StackPaneItemImpl)item);
+ }
+
+ @Override
+ public void addItem(WStackItem<Object, Node> item) {
+ this.items.add(item);
+ addChildNode(item);
+ }
+
+ @Override
+ public void addItems(List<@NonNull WStackItem<Object, Node>> items) {
+ this.items.addAll(items);
+ items.stream().map(item -> (StackPaneItemImpl)item).forEach(this::addStackPaneItem);
+ }
+
+ @Override
+ public void addItems(int index, @NonNull List<@NonNull WStackItem<Object, Node>> items) {
+ this.items.addAll(index, items);
+ List<Node> collect = items.stream().map(item -> (StackPaneItemImpl)item)
+ .filter(item -> item.getNativeItem() != null)
+ .map(StackPaneItemImpl::getNativeItem)
+ .collect(Collectors.toList());
+ collect.forEach(node -> {
+ node.setVisible(false);
+ node.setManaged(false);
+ });
+ getWidget().getChildren().addAll(index, collect);
+ }
+
+ private void addStackPaneItem(StackPaneItemImpl item) {
+ Node node = item.getNativeItem();
+ if (node != null) {
+ node.setVisible(false);
+ node.setManaged(false);
+ getWidget().getChildren().add(node);
+ }
+ }
+
+ @Override
+ public void selectItem(int idx) {
+ int index = (idx == -1) ? 0 : idx;
+ if (this.items.size() > index) {
+ StackPaneItemImpl item = (StackPaneItemImpl)this.items.get(index);
+ item.handleSelection();
+
+ getWidget().getChildren().forEach(node -> {
+ node.setVisible(false);
+ node.setManaged(false);
+ });
+ Node node = getWidget().getChildren().get(index);
+ node.setVisible(true);
+ node.setManaged(true);
+ }
+ }
+
+ @Override
+ public int indexOf(WStackItem<Object, Node> item) {
+ return this.items.indexOf(item);
+ }
+
+ @Override
+ public List<@NonNull WStackItem<Object, Node>> getItems() {
+ return this.items;
+ }
+
+ @Override
+ public void removeItems(List<WStackItem<Object, Node>> items) {
+ this.items.removeAll(items);
+ }
+
+ @Override
+ public void setMouseSelectedItemCallback(WCallback<WStack.WStackItem<Object, Node>, Void> selectedItemCallback) {
+ this.mouseSelectedItemCallback = selectedItemCallback;
+ }
+
+ @Override
+ public void setKeySelectedItemCallback(WCallback<WStack.WStackItem<Object, Node>, Void> selectedItemCallback) {
+ // empty
+ }
+
+ @Override
+ public int getItemCount() {
+ return this.items.size();
+ }
+
+ @Override
+ public StackPane getWidgetNode() {
+ return getWidget();
+ }
+
+ @Override
+ protected StackPane createWidget() {
+ return new StackPane();
+ }
+
+ @Override
+ public void setDragStartCallback(@NonNull WCallback<@NonNull DragData, @NonNull Boolean> dragStackCallback) {
+ // no drag in this control
+ }
+ }
+
+ static class StackPaneItemImpl implements WStackItem<Object, Node> {
+ private WCallback<WStackItem<Object, Node>, Node> initCallback;
+ private StackPane internalPane = new StackPane();
+ private MStackElement domElement;
+
+ void handleSelection() {
+ if (this.initCallback != null) {
+ this.internalPane.getChildren().add(this.initCallback.call(this));
+ this.initCallback = null;
+ }
+ }
+
+ @Override
+ public Node getNativeItem() {
+ return this.internalPane;
+ }
+
+ @Override
+ public void setDomElement(MStackElement domElement) {
+ this.domElement = domElement;
+ }
+
+ @Override
+ public MStackElement getDomElement() {
+ return this.domElement;
+ }
+
+ @Override
+ public void setInitCallback(WCallback<WStackItem<Object, Node>, Node> callback) {
+ this.initCallback = callback;
+ }
+
+ @Override
+ public void setOnCloseCallback(WCallback<WStackItem<Object, Node>, Boolean> callback) {
+ // there's no close
+ }
+
+ @PreDestroy
+ public void dispose() {
+ this.initCallback = null;
+ }
+ }
+
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefWindowRenderer.java b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefWindowRenderer.java
index 4132c2e..062a864 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefWindowRenderer.java
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.renderers.fx/src/org/eclipse/fx/ui/workbench/renderers/fx/DefWindowRenderer.java
@@ -424,6 +424,9 @@
}
this.stage.setOnCloseRequest(this::handleOnCloseRequest);
+ this.stage.setOnShown( e -> {
+ this.eventBroker.send(TOPIC_WINDOW_SHOWN, this.stage);
+ });
this.stage.focusedProperty().addListener(this::handledFocus);
this.stage.setFullScreen(this.fullscreen);
@@ -970,8 +973,7 @@
public void addChildWindow(WWindow<?> widget) {
this.windows.add(widget);
if (this.initDone && this.stage.isShowing()) {
- Stage s = (Stage) widget.getWidget();
- s.show();
+ widget.show();
}
}
@@ -1031,6 +1033,7 @@
// I don't think sub-windows should be activated
for (WWindow<?> c : this.windows) {
+ System.err.println("SHOW CHILD: " + c);
c.show();
this.eventBroker.send(Constants.WINDOW_SHOWN, this.mWindow);
}
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.services/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/runtime/org.eclipse.fx.ui.workbench.services/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000..9489e3f
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.services/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.services/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.workbench.services/META-INF/MANIFEST.MF
index eca4788..cdd70d9 100644
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.services/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.services/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Services
Bundle-SymbolicName: org.eclipse.fx.ui.workbench.services
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="1.1.0",
org.eclipse.jdt.annotation;bundle-version="2.0.0";resolution:=optional,
@@ -12,9 +12,9 @@
org.eclipse.e4.core.di;bundle-version="1.4.0",
org.eclipse.emf.common,
org.eclipse.emf.ecore;bundle-version="2.10.0"
-Export-Package: org.eclipse.fx.ui.workbench.services;version="2.6.0",
- org.eclipse.fx.ui.workbench.services.lifecycle;version="2.6.0",
- org.eclipse.fx.ui.workbench.services.lifecycle.annotation;version="2.6.0"
+Export-Package: org.eclipse.fx.ui.workbench.services;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services.lifecycle;version="3.0.0",
+ org.eclipse.fx.ui.workbench.services.lifecycle.annotation;version="3.0.0"
Import-Package: javax.annotation;version="1.2.0";resolution:=optional,
javax.inject;version="1.0.0",
org.osgi.service.component.annotations;version="1.2.0",
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench.services/pom.xml b/bundles/runtime/org.eclipse.fx.ui.workbench.services/pom.xml
index 57ad35c..fcf6359 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench.services/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench.services/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench3/META-INF/MANIFEST.MF b/bundles/runtime/org.eclipse.fx.ui.workbench3/META-INF/MANIFEST.MF
index 3c91c00..0f70d9e 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench3/META-INF/MANIFEST.MF
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench3/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ui.workbench3
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Require-Bundle: org.eclipse.ui.workbench;bundle-version="3.7.0";visibility:=reexport,
org.eclipse.swt;bundle-version="3.7.0";visibility:=reexport,
diff --git a/bundles/runtime/org.eclipse.fx.ui.workbench3/pom.xml b/bundles/runtime/org.eclipse.fx.ui.workbench3/pom.xml
index 74f8334..d1856e2 100755
--- a/bundles/runtime/org.eclipse.fx.ui.workbench3/pom.xml
+++ b/bundles/runtime/org.eclipse.fx.ui.workbench3/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.converter/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.converter/META-INF/MANIFEST.MF
index cfb255e..8b628ac 100755
--- a/bundles/tooling/org.eclipse.fx.ide.converter/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.converter/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Converter
Bundle-SymbolicName: org.eclipse.fx.ide.converter;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.ui,
org.eclipse.core.resources;bundle-version="3.7.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.converter/pom.xml b/bundles/tooling/org.eclipse.fx.ide.converter/pom.xml
index 0e6747c..0592941 100755
--- a/bundles/tooling/org.eclipse.fx.ide.converter/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.converter/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/META-INF/MANIFEST.MF
index ecf9610..1474a35 100644
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Proposals
Bundle-SymbolicName: org.eclipse.fx.ide.css.cssext.proposals
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ui.controls;bundle-version="2.3.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/pom.xml
index 57cb742..6359f00 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext.proposals/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext.tests/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.cssext.tests/META-INF/MANIFEST.MF
index e41d7c5..dc2b89b 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext.tests/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.css.cssext.tests
Bundle-Vendor: My Company
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.css.cssext.tests;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.css.cssext;bundle-version="2.3.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui.debug/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui.debug/META-INF/MANIFEST.MF
new file mode 100755
index 0000000..2ec99b3
--- /dev/null
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui.debug/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Debug
+Bundle-SymbolicName: org.eclipse.fx.ide.css.cssext.ui.debug;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.fx.core;bundle-version="0.1.1",
+ org.eclipse.fx.core.guice;bundle-version="0.1.1",
+ org.eclipse.zest.core;bundle-version="1.3.0",
+ org.eclipse.zest.layouts;bundle-version="1.1.0",
+ org.eclipse.fx.ide.css.cssext.ui;bundle-version="0.1.1",
+ org.eclipse.ui;bundle-version="3.8.0",
+ org.eclipse.fx.ide.css.ui;bundle-version="0.1.1",
+ org.eclipse.core.runtime;bundle-version="3.8.0",
+ org.eclipse.xtext.ui;bundle-version="2.3.0"
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/META-INF/MANIFEST.MF
index dc4da51..9bfa0f4 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.css.cssext.ui
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.css.cssext.ui;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.css.cssext;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/pom.xml
index 602b42a..7a1e2f1 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.cssext/META-INF/MANIFEST.MF
index dfb5aaf..971f6a4 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.css.cssext
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.css.cssext; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.cssext/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css.cssext/pom.xml
index 37e4aca..a01ead3 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.cssext/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css.cssext/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.jfx2/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.jfx2/META-INF/MANIFEST.MF
index d6e0096..317dbc2 100644
--- a/bundles/tooling/org.eclipse.fx.ide.css.jfx2/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.jfx2/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Jfx2
Bundle-SymbolicName: org.eclipse.fx.ide.css.jfx2
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse.org
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.jfx2/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css.jfx2/pom.xml
index 0a1802e..ac904af 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.jfx2/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css.jfx2/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.jfx8/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.jfx8/META-INF/MANIFEST.MF
index bdb8425..a1af927 100644
--- a/bundles/tooling/org.eclipse.fx.ide.css.jfx8/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.jfx8/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Jfx8
Bundle-SymbolicName: org.eclipse.fx.ide.css.jfx8
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse.org
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.jfx8/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css.jfx8/pom.xml
index 550bae6..7f7f8d4 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.jfx8/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css.jfx8/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.tests/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.tests/META-INF/MANIFEST.MF
index 4625c16..3b0c679 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.tests/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.css.tests;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.css;bundle-version="2.3.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css.ui/META-INF/MANIFEST.MF
index f7879a4..3a6e753 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.css.ui;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.css;bundle-version="2.3.0";visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.css.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css.ui/pom.xml
index b49c140..6352242 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.css/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.css/META-INF/MANIFEST.MF
index 3e1a358..135cda4 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.css/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.css;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;bundle-version="2.0.0";visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.css/pom.xml b/bundles/tooling/org.eclipse.fx.ide.css/pom.xml
index 193d87d..f8e36a3 100755
--- a/bundles/tooling/org.eclipse.fx.ide.css/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.css/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/META-INF/MANIFEST.MF
index 47b9406..389b799 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.fxgraph.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.fxgraph;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/pom.xml
index d75dcac..0cca3c1 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.fxgraph.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxgraph/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.fxgraph/META-INF/MANIFEST.MF
index 6f3f80d..260b33e 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxgraph/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.fxgraph/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.fxgraph; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxgraph/pom.xml b/bundles/tooling/org.eclipse.fx.ide.fxgraph/pom.xml
index 9f2de68..04d21ca 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxgraph/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.fxgraph/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/META-INF/MANIFEST.MF
index 88454cf..7c8e23c 100644
--- a/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Compiler
Bundle-SymbolicName: org.eclipse.fx.ide.fxml.compiler
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.xtend.lib,
com.google.guava,
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/pom.xml b/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/pom.xml
index ee73945..a88caa6 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.fxml.compiler/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxml/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.fxml/META-INF/MANIFEST.MF
index 3c1c1c2..557a67b 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxml/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.fxml/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Fxml
Bundle-SymbolicName: org.eclipse.fx.ide.fxml;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ide.fxml.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/bundles/tooling/org.eclipse.fx.ide.fxml/pom.xml b/bundles/tooling/org.eclipse.fx.ide.fxml/pom.xml
index 19772ea..d324268 100755
--- a/bundles/tooling/org.eclipse.fx.ide.fxml/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.fxml/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF
index b361618..7618354 100644
--- a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: GModel Language UI
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.gmodel.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.gmodel;bundle-version="2.3.0";visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/pom.xml
index f6c9624..7ec5fc4 100755
--- a/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF
index 021d4f9..08ede86 100644
--- a/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: GModel DSL core
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.gmodel; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.gmodel/pom.xml b/bundles/tooling/org.eclipse.fx.ide.gmodel/pom.xml
index f76d78c..fbc480e 100755
--- a/bundles/tooling/org.eclipse.fx.ide.gmodel/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.gmodel/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.java6/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.java6/META-INF/MANIFEST.MF
index 594f101..ac71ec7 100755
--- a/bundles/tooling/org.eclipse.fx.ide.java6/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.java6/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: JavaFX Tooling Java Check
Bundle-SymbolicName: org.eclipse.fx.ide.java6;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Vendor: Eclipse.org
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.ui;bundle-version="3.7.0"
diff --git a/bundles/tooling/org.eclipse.fx.ide.java6/pom.xml b/bundles/tooling/org.eclipse.fx.ide.java6/pom.xml
index dd9e94a..f533cbe 100755
--- a/bundles/tooling/org.eclipse.fx.ide.java6/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.java6/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.jdt.core/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.jdt.core/META-INF/MANIFEST.MF
index e892946..81a85fc 100755
--- a/bundles/tooling/org.eclipse.fx.ide.jdt.core/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.jdt.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ide.jdt.core;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.jdt.core;bundle-version="3.7.0",
org.eclipse.equinox.common;bundle-version="3.6.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.jdt.core/pom.xml b/bundles/tooling/org.eclipse.fx.ide.jdt.core/pom.xml
index 1564954..d762987 100755
--- a/bundles/tooling/org.eclipse.fx.ide.jdt.core/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.jdt.core/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.jdt.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.jdt.ui/META-INF/MANIFEST.MF
index 7ccac09..be372da 100755
--- a/bundles/tooling/org.eclipse.fx.ide.jdt.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.jdt.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ide.jdt.ui;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ide.jdt.ui.internal.JavaFXUIPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/bundles/tooling/org.eclipse.fx.ide.jdt.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.jdt.ui/pom.xml
index b17493e..9544deb 100755
--- a/bundles/tooling/org.eclipse.fx.ide.jdt.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.jdt.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF
index 127cbb7..37f5d16 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.l10n.ui
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.l10n.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.l10n;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/pom.xml
index ad6514b..c906414 100755
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.NLSDslProposalProvider.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.NLSDslProposalProvider.xtendbin
index f3cfd3f..f707ca6 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.NLSDslProposalProvider.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/contentassist/.NLSDslProposalProvider.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.StringReplacementHandler.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.StringReplacementHandler.xtendbin
index 7edfd29..bac7d37 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.StringReplacementHandler.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/edit/.StringReplacementHandler.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingCalculator.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingCalculator.xtendbin
index e2708ab..3340bc4 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingCalculator.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingCalculator.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingConfiguration.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingConfiguration.xtendbin
index bf45beb..46ea324 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingConfiguration.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.NLSHighlightingConfiguration.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.TokenToAttributeIdMapper.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.TokenToAttributeIdMapper.xtendbin
index b393cdb..f6bcef7 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.TokenToAttributeIdMapper.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/highlighting/.TokenToAttributeIdMapper.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslDescriptionLabelProvider.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslDescriptionLabelProvider.xtendbin
index a1d9031..c993e08 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslDescriptionLabelProvider.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslDescriptionLabelProvider.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslLabelProvider.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslLabelProvider.xtendbin
index 8953f69..16baaf0 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslLabelProvider.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/labeling/.NLSDslLabelProvider.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.NLSDslOutlineTreeProvider.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.NLSDslOutlineTreeProvider.xtendbin
index 3b0206a..ffa02d1 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.NLSDslOutlineTreeProvider.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/outline/.NLSDslOutlineTreeProvider.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.NLSDslQuickfixProvider.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.NLSDslQuickfixProvider.xtendbin
index 1305a29..248fd49 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.NLSDslQuickfixProvider.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n.ui/xtend-gen/org/eclipse/fx/ide/l10n/ui/quickfix/.NLSDslQuickfixProvider.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF
index 386e5f0..e60bb1c 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.l10n
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.l10n; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/pom.xml b/bundles/tooling/org.eclipse.fx.ide.l10n/pom.xml
index 973a31a..5d199b1 100755
--- a/bundles/tooling/org.eclipse.fx.ide.l10n/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.NLSDslFormatter.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.NLSDslFormatter.xtendbin
index bb6b96f..876ccd2 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.NLSDslFormatter.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/formatting/.NLSDslFormatter.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.NLSDslGenerator.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.NLSDslGenerator.xtendbin
index bf4599b..fd20ab6 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.NLSDslGenerator.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/generator/.NLSDslGenerator.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.NLSDslScopeProvider.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.NLSDslScopeProvider.xtendbin
index 43a7008..497ba62 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.NLSDslScopeProvider.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/scoping/.NLSDslScopeProvider.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.NLSDslValidator.xtendbin b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.NLSDslValidator.xtendbin
index aa9b99b..e273a52 100644
--- a/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.NLSDslValidator.xtendbin
+++ b/bundles/tooling/org.eclipse.fx.ide.l10n/xtend-gen/org/eclipse/fx/ide/l10n/validation/.NLSDslValidator.xtendbin
Binary files differ
diff --git a/bundles/tooling/org.eclipse.fx.ide.model/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.model/META-INF/MANIFEST.MF
index d81d5b9..dfceb43 100755
--- a/bundles/tooling/org.eclipse.fx.ide.model/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Model
Bundle-SymbolicName: org.eclipse.fx.ide.model;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ide.model.FXPlugin
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.jdt.core;bundle-version="3.7.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.model/pom.xml b/bundles/tooling/org.eclipse.fx.ide.model/pom.xml
index 066f5fc..c7a5e14 100755
--- a/bundles/tooling/org.eclipse.fx.ide.model/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.model/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.core/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.pde.core/META-INF/MANIFEST.MF
index 04c306e..79d5c52 100644
--- a/bundles/tooling/org.eclipse.fx.ide.pde.core/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Core
Bundle-SymbolicName: org.eclipse.fx.ide.pde.core;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.core.resources;bundle-version="3.9.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.core/pom.xml b/bundles/tooling/org.eclipse.fx.ide.pde.core/pom.xml
index 4a1bcb5..2ff9034 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.core/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.core/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.java7/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.pde.java7/META-INF/MANIFEST.MF
index 553eb26..1b843cd 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.java7/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.java7/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Java7
Bundle-SymbolicName: org.eclipse.fx.ide.pde.java7;singleton:=true
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.jdt.core;bundle-version="3.7.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.java7/pom.xml b/bundles/tooling/org.eclipse.fx.ide.pde.java7/pom.xml
index 5f17884..1ab5950 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.java7/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.java7/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.3.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/META-INF/MANIFEST.MF
index 0277c17..86cdc14 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: E4 PDE
Bundle-SymbolicName: org.eclipse.fx.ide.pde.ui.e4;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ide.pde.ui.e4.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/pom.xml b/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/pom.xml
index d0d7b25..4729bf2 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.ui.e4/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.pde.ui/META-INF/MANIFEST.MF
index 9aab9db..bf3dbd9 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ide.pde.ui;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.pde.ui;bundle-version="3.6.100",
org.eclipse.jface;bundle-version="3.7.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.pde.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.pde.ui/pom.xml
index 3a32bad..8a1345b 100755
--- a/bundles/tooling/org.eclipse.fx.ide.pde.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.pde.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.tests/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.tests/META-INF/MANIFEST.MF
index fe554b4..6a73e68 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.tests/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.rrobot.dsl.tests
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.3.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.rrobot.dsl.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.rrobot.dsl;bundle-version="2.3.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/META-INF/MANIFEST.MF
index ef30c21..9082371 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: RRobot UI
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.rrobot.dsl.ui;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.fx.ide.rrobot.dsl;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/pom.xml
index 1d0d858..d69ad08 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/META-INF/MANIFEST.MF
index 77ccc8d..4a21f3c 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: org.eclipse.fx.ide.rrobot.dsl
Bundle-Vendor: Eclipse.org
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-SymbolicName: org.eclipse.fx.ide.rrobot.dsl;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext;visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/pom.xml b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/pom.xml
index 87c4fa3..be8075a 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.dsl/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.model/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.rrobot.model/META-INF/MANIFEST.MF
index 817206f..006a8c4 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.model/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.fx.ide.rrobot.model;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot.model/pom.xml b/bundles/tooling/org.eclipse.fx.ide.rrobot.model/pom.xml
index fb0fea8..e0c539d 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot.model/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot.model/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.rrobot/META-INF/MANIFEST.MF
index 9fef9a1..afd9516 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Rrobot
Bundle-SymbolicName: org.eclipse.fx.ide.rrobot
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.equinox.common;bundle-version="3.6.0",
org.eclipse.fx.ide.rrobot.model;bundle-version="2.3.0";visibility:=reexport,
diff --git a/bundles/tooling/org.eclipse.fx.ide.rrobot/pom.xml b/bundles/tooling/org.eclipse.fx.ide.rrobot/pom.xml
index 4ace3f2..7e60b20 100755
--- a/bundles/tooling/org.eclipse.fx.ide.rrobot/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.rrobot/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/META-INF/MANIFEST.MF
index 79a8786..6b8d063 100644
--- a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Device
Bundle-SymbolicName: org.eclipse.fx.ide.ui.mobile.sim.device
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.fx.ide.ui.mobile.sim.device;x-internal:=true,
org.eclipse.fx.ide.ui.mobile.sim.device.android.galaxyNote2;x-internal:=true,
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/pom.xml b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/pom.xml
index fe92bbd..e248251 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.device/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/META-INF/MANIFEST.MF
index 7652f15..cf6d95a 100644
--- a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: Launch
Bundle-SymbolicName: org.eclipse.fx.ide.ui.mobile.sim.launch;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.jdt.core;bundle-version="3.8.0",
org.eclipse.core.runtime;bundle-version="3.8.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/pom.xml b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/pom.xml
index 27d5ce9..54e9540 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.ui.mobile.sim.launch/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui.preview/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.ui.preview/META-INF/MANIFEST.MF
index d7e7523..3086e92 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui.preview/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.ui.preview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ide.ui.preview;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ide.ui.preview.bundle.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.ui;bundle-version="3.7.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui.preview/pom.xml b/bundles/tooling/org.eclipse.fx.ide.ui.preview/pom.xml
index 659ade2..80e7d97 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui.preview/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.ui.preview/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui/META-INF/MANIFEST.MF b/bundles/tooling/org.eclipse.fx.ide.ui/META-INF/MANIFEST.MF
index ef01485..933828a 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui/META-INF/MANIFEST.MF
+++ b/bundles/tooling/org.eclipse.fx.ide.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.fx.ide.ui;singleton:=true
-Bundle-Version: 2.4.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.fx.ide.ui.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.databinding;bundle-version="1.4.0",
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui/about.properties b/bundles/tooling/org.eclipse.fx.ide.ui/about.properties
index c511df4..0cae211 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui/about.properties
+++ b/bundles/tooling/org.eclipse.fx.ide.ui/about.properties
@@ -6,7 +6,7 @@
blurb=e(fx)clipse\n\
\n\
-e(fx)clipse is an Eclipse plugin to author JavaFX 2.0 application\n\
+e(fx)clipse is an Eclipse plugin to author JavaFX 8.0 application\n\
Visit http://efxclipse.org/ and http://www.bestsolution.at\n\
\n\
Copyright (c) 2011-2012 BestSolution.at Systemhaus GmbH. All rights reserved.\n\
diff --git a/bundles/tooling/org.eclipse.fx.ide.ui/pom.xml b/bundles/tooling/org.eclipse.fx.ide.ui/pom.xml
index f770c14..d3e0e12 100755
--- a/bundles/tooling/org.eclipse.fx.ide.ui/pom.xml
+++ b/bundles/tooling/org.eclipse.fx.ide.ui/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../../releng/org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/releng/code/org.eclipse.fx.code.base.feature/feature.xml b/releng/code/org.eclipse.fx.code.base.feature/feature.xml
index b8286ab..8839d04 100644
--- a/releng/code/org.eclipse.fx.code.base.feature/feature.xml
+++ b/releng/code/org.eclipse.fx.code.base.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.code.base.feature"
label="e(fx)clipse - Code Editing - Basic"
- version="2.6.0.qualifier">
+ version="3.0.0.qualifier">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
diff --git a/releng/code/org.eclipse.fx.code.base.feature/pom.xml b/releng/code/org.eclipse.fx.code.base.feature/pom.xml
index 05fe6e1..656c8a4 100644
--- a/releng/code/org.eclipse.fx.code.base.feature/pom.xml
+++ b/releng/code/org.eclipse.fx.code.base.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/code/org.eclipse.fx.code.langs.feature/.gitignore b/releng/code/org.eclipse.fx.code.langs.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/releng/code/org.eclipse.fx.code.langs.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/releng/code/org.eclipse.fx.code.langs.feature/feature.xml b/releng/code/org.eclipse.fx.code.langs.feature/feature.xml
index e414bb5..5b22628 100644
--- a/releng/code/org.eclipse.fx.code.langs.feature/feature.xml
+++ b/releng/code/org.eclipse.fx.code.langs.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.code.langs.feature"
label="e(fx)clipse - Code Editing - Default Language Support"
- version="2.6.0.qualifier">
+ version="3.0.0.qualifier">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
diff --git a/releng/code/org.eclipse.fx.code.langs.feature/pom.xml b/releng/code/org.eclipse.fx.code.langs.feature/pom.xml
index dd76ff4..b633c44 100644
--- a/releng/code/org.eclipse.fx.code.langs.feature/pom.xml
+++ b/releng/code/org.eclipse.fx.code.langs.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/code/org.eclipse.fx.code.langs.feature/target/feature.xml b/releng/code/org.eclipse.fx.code.langs.feature/target/feature.xml
deleted file mode 100644
index e439f43..0000000
--- a/releng/code/org.eclipse.fx.code.langs.feature/target/feature.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.fx.code.langs.feature"
- label="e(fx)clipse - Code Editing - Default Language Support"
- version="2.5.0.201608211840">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <plugin
- id="org.eclipse.fx.code.editor.fx.themes"
- download-size="6"
- install-size="9"
- version="2.5.0.201608211840"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.fx.code.editor.langs"
- download-size="52"
- install-size="194"
- version="2.5.0.201608211840"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.fx.code.editor.langs.contrib"
- download-size="7"
- install-size="13"
- version="2.5.0.201608211840"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.fx.code.editor.langs.themes"
- download-size="3"
- install-size="5"
- version="2.5.0.201608211840"
- unpack="false"/>
-
-</feature>
diff --git a/releng/code/org.eclipse.fx.code.target.feature/feature.xml b/releng/code/org.eclipse.fx.code.target.feature/feature.xml
index 29ee84e..0a81660 100644
--- a/releng/code/org.eclipse.fx.code.target.feature/feature.xml
+++ b/releng/code/org.eclipse.fx.code.target.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.code.target.feature"
label="Code editing target platform"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/code/org.eclipse.fx.code.target.feature/pom.xml b/releng/code/org.eclipse.fx.code.target.feature/pom.xml
index 1c4b50b..ebcda1f 100644
--- a/releng/code/org.eclipse.fx.code.target.feature/pom.xml
+++ b/releng/code/org.eclipse.fx.code.target.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.fx.core.shared.updatesite/pom.xml b/releng/org.eclipse.fx.core.shared.updatesite/pom.xml
index 90ab004..59f6689 100644
--- a/releng/org.eclipse.fx.core.shared.updatesite/pom.xml
+++ b/releng/org.eclipse.fx.core.shared.updatesite/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<properties>
diff --git a/releng/org.eclipse.fx.core.shared.updatesite/site.xml b/releng/org.eclipse.fx.core.shared.updatesite/site.xml
index 266bb58..f399e6e 100644
--- a/releng/org.eclipse.fx.core.shared.updatesite/site.xml
+++ b/releng/org.eclipse.fx.core.shared.updatesite/site.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
- <feature url="features/org.eclipse.fx.core.shared.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.core.shared.feature" version="2.6.0.qualifier"/>
- <feature url="features/org.eclipse.fx.runtime.min.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.runtime.min.feature" version="2.6.0.qualifier"/>
+ <feature url="features/org.eclipse.fx.core.shared.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.core.shared.feature" version="3.0.0.qualifier"/>
+ <feature url="features/org.eclipse.fx.runtime.min.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.runtime.min.feature" version="3.0.0.qualifier"/>
</site>
diff --git a/releng/org.eclipse.fx.ide.releng/pom.xml b/releng/org.eclipse.fx.ide.releng/pom.xml
index ddd535f..b4221a0 100755
--- a/releng/org.eclipse.fx.ide.releng/pom.xml
+++ b/releng/org.eclipse.fx.ide.releng/pom.xml
@@ -11,7 +11,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho-version>0.22.0</tycho-version>
diff --git a/releng/org.eclipse.fx.ide.updatesite/pom.xml b/releng/org.eclipse.fx.ide.updatesite/pom.xml
index 1345fa8..495b144 100644
--- a/releng/org.eclipse.fx.ide.updatesite/pom.xml
+++ b/releng/org.eclipse.fx.ide.updatesite/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<build>
diff --git a/releng/org.eclipse.fx.releng/pom.xml b/releng/org.eclipse.fx.releng/pom.xml
index dc4b7cd..6a0fb03 100755
--- a/releng/org.eclipse.fx.releng/pom.xml
+++ b/releng/org.eclipse.fx.releng/pom.xml
@@ -11,18 +11,18 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
- <tycho-version>0.23.1</tycho-version>
- <tycho-extras.version>0.23.1</tycho-extras.version>
+ <tycho-version>0.25.0</tycho-version>
+ <tycho-extras.version>0.25.0</tycho-extras.version>
<cbi-plugins.version>1.1.3</cbi-plugins.version>
<junit-version>4.8.1</junit-version>
<mockito-version>1.8.4</mockito-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform-version>[3.7,3.8)</platform-version>
- <efx_shared_runtime>http://download.eclipse.org/efxclipse/runtime-shared-nightly-2.6.x/site/</efx_shared_runtime>
- <download-publish-path>/home/data/httpd/download.eclipse.org/efxclipse/runtime-nightly-2.6.x</download-publish-path>
+ <efx_shared_runtime>http://download.eclipse.org/efxclipse/runtime-shared-nightly/site/</efx_shared_runtime>
+ <download-publish-path>/home/data/httpd/download.eclipse.org/efxclipse/runtime-nightly</download-publish-path>
<eclipse-repo.url>https://repo.eclipse.org/content/repositories/releases/</eclipse-repo.url>
<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/efxclipse/org.eclipse.efxclipse.git</tycho.scmUrl>
</properties>
@@ -113,9 +113,9 @@
<repositories>
<repository>
- <id>mars</id>
+ <id>neon</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/eclipse/updates/4.5/R-4.5.1-201509040015</url>
+ <url>http://download.eclipse.org/eclipse/updates/4.6/R-4.6-201606061100/</url>
</repository>
<repository>
<id>orbit</id>
diff --git a/releng/org.eclipse.fx.runtime.doc/META-INF/MANIFEST.MF b/releng/org.eclipse.fx.runtime.doc/META-INF/MANIFEST.MF
index e21a16a..ca19dd4 100644
--- a/releng/org.eclipse.fx.runtime.doc/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.fx.runtime.doc/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@
Bundle-ManifestVersion: 2
Bundle-Name: Doc
Bundle-SymbolicName: org.eclipse.fx.runtime.doc
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/releng/org.eclipse.fx.runtime.doc/pom.xml b/releng/org.eclipse.fx.runtime.doc/pom.xml
index 421f709..048a02c 100755
--- a/releng/org.eclipse.fx.runtime.doc/pom.xml
+++ b/releng/org.eclipse.fx.runtime.doc/pom.xml
@@ -10,14 +10,14 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.eclipse.fx.runtime</groupId>
<artifactId>org.eclipse.fx.runtime.feature</artifactId>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
diff --git a/releng/org.eclipse.fx.shared.doc/META-INF/MANIFEST.MF b/releng/org.eclipse.fx.shared.doc/META-INF/MANIFEST.MF
index 00ae3c6..1676e80 100644
--- a/releng/org.eclipse.fx.shared.doc/META-INF/MANIFEST.MF
+++ b/releng/org.eclipse.fx.shared.doc/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@
Bundle-ManifestVersion: 2
Bundle-Name: Doc
Bundle-SymbolicName: org.eclipse.fx.shared.doc
-Bundle-Version: 2.6.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/releng/org.eclipse.fx.shared.doc/pom.xml b/releng/org.eclipse.fx.shared.doc/pom.xml
index 0b8bf77..3e16f8a 100755
--- a/releng/org.eclipse.fx.shared.doc/pom.xml
+++ b/releng/org.eclipse.fx.shared.doc/pom.xml
@@ -10,14 +10,14 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>org.eclipse.fx.core.shared.feature</artifactId>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
diff --git a/releng/org.eclipse.fx.shared.releng/pom.xml b/releng/org.eclipse.fx.shared.releng/pom.xml
index 55c9512..79be4ce 100755
--- a/releng/org.eclipse.fx.shared.releng/pom.xml
+++ b/releng/org.eclipse.fx.shared.releng/pom.xml
@@ -11,9 +11,10 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
+ <!-- KEEP VERSION 0.22.0 other one will fail on hudson -->
<tycho-version>0.22.0</tycho-version>
<tycho-extras.version>0.22.0</tycho-extras.version>
<cbi-plugins.version>1.1.3</cbi-plugins.version>
@@ -21,7 +22,7 @@
<mockito-version>1.8.4</mockito-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform-version>[3.7,3.8)</platform-version>
- <download-publish-path>/home/data/httpd/download.eclipse.org/efxclipse/runtime-shared-nightly-2.6.x</download-publish-path>
+ <download-publish-path>/home/data/httpd/download.eclipse.org/efxclipse/runtime-shared-nightly</download-publish-path>
<eclipse-repo.url>https://repo.eclipse.org/content/repositories/releases/</eclipse-repo.url>
<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/efxclipse/org.eclipse.efxclipse.git</tycho.scmUrl>
</properties>
diff --git a/releng/org.eclipse.fx.updatesite/pom.xml b/releng/org.eclipse.fx.updatesite/pom.xml
index 3e8f7b1..64b4484 100644
--- a/releng/org.eclipse.fx.updatesite/pom.xml
+++ b/releng/org.eclipse.fx.updatesite/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
<properties>
diff --git a/releng/org.eclipse.fx.updatesite/site.xml b/releng/org.eclipse.fx.updatesite/site.xml
index 027ebdd..14c81e5 100644
--- a/releng/org.eclipse.fx.updatesite/site.xml
+++ b/releng/org.eclipse.fx.updatesite/site.xml
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
- <feature url="features/org.eclipse.fx.core.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.core.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.core.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.core.feature" version="3.0.0.qualifier">
<category name="fxruntime"/>
</feature>
- <feature url="features/org.eclipse.fx.target.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.target.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.target.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.target.feature" version="3.0.0.qualifier">
<category name="fxtarget"/>
</feature>
- <feature url="features/org.eclipse.fx.target.rcp.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.target.rcp.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.target.rcp.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.target.rcp.feature" version="3.0.0.qualifier">
<category name="fxtarget"/>
</feature>
- <feature url="features/org.eclipse.fx.runtime.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.runtime.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.runtime.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.runtime.feature" version="3.0.0.qualifier">
<category name="fxruntime"/>
</feature>
- <feature url="features/org.eclipse.fx.target.rcp4.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.target.rcp4.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.target.rcp4.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.target.rcp4.feature" version="3.0.0.qualifier">
<category name="fxtarget"/>
</feature>
- <feature url="features/org.eclipse.fx.runtime.min.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.runtime.min.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.runtime.min.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.runtime.min.feature" version="3.0.0.qualifier">
<category name="fxtarget"/>
</feature>
- <feature url="features/org.eclipse.fx.code.target.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.code.target.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.code.target.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.code.target.feature" version="3.0.0.qualifier">
<category name="fxtarget"/>
</feature>
- <feature url="features/org.eclipse.fx.slf4j.target.feature_2.6.0.qualifier.jar" id="org.eclipse.fx.slf4j.target.feature" version="2.6.0.qualifier">
+ <feature url="features/org.eclipse.fx.slf4j.target.feature_3.0.0.qualifier.jar" id="org.eclipse.fx.slf4j.target.feature" version="3.0.0.qualifier">
<category name="fxtarget"/>
</feature>
<category-def name="fxruntime" label="FX Runtime"/>
diff --git a/releng/runtime/org.eclipse.fx..slf4j.target.feature/feature.xml b/releng/runtime/org.eclipse.fx..slf4j.target.feature/feature.xml
index 6c1f833..4594111 100644
--- a/releng/runtime/org.eclipse.fx..slf4j.target.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx..slf4j.target.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.slf4j.target.feature"
label="Feature"
- version="2.6.0.qualifier">
+ version="3.0.0.qualifier">
<description url="http://www.example.com/description">
Feature used to define a target which holds all slf4j providers (Do not install into IDE)
diff --git a/releng/runtime/org.eclipse.fx..slf4j.target.feature/pom.xml b/releng/runtime/org.eclipse.fx..slf4j.target.feature/pom.xml
index 46944d3..5a984ca 100644
--- a/releng/runtime/org.eclipse.fx..slf4j.target.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx..slf4j.target.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.core.feature/feature.xml b/releng/runtime/org.eclipse.fx.core.feature/feature.xml
index c2016cd..2fac2af 100644
--- a/releng/runtime/org.eclipse.fx.core.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.core.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.core.feature"
label="e(fx)clipse core Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.core.feature/pom.xml b/releng/runtime/org.eclipse.fx.core.feature/pom.xml
index affef86..135a812 100644
--- a/releng/runtime/org.eclipse.fx.core.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.core.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.core.shared.feature/feature.xml b/releng/runtime/org.eclipse.fx.core.shared.feature/feature.xml
index fd53b14..04f2efb 100644
--- a/releng/runtime/org.eclipse.fx.core.shared.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.core.shared.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.core.shared.feature"
label="Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.core.shared.feature/pom.xml b/releng/runtime/org.eclipse.fx.core.shared.feature/pom.xml
index 4e03dee..79cccfa 100644
--- a/releng/runtime/org.eclipse.fx.core.shared.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.core.shared.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/feature.xml b/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/feature.xml
index b32b036..10af5c9 100644
--- a/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.runtime.e4fx.feature"
label="minimal e4 application framework feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description url="http://www.example.com/description">
diff --git a/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/pom.xml b/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/pom.xml
index 9a49731..ec7950b 100644
--- a/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.e4fx.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/feature.xml b/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/feature.xml
index 8c747fb..6705d84 100644
--- a/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.runtime.e4fx.p2.feature"
label="Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/pom.xml b/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/pom.xml
index d032df3..3780950 100644
--- a/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.e4fx.p2.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.runtime.feature/feature.xml b/releng/runtime/org.eclipse.fx.runtime.feature/feature.xml
index a897246..c529ae0 100644
--- a/releng/runtime/org.eclipse.fx.runtime.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.runtime.feature"
label="Rutime Bundle Collector Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.runtime.feature/pom.xml b/releng/runtime/org.eclipse.fx.runtime.feature/pom.xml
index eead26c..f8faefe 100644
--- a/releng/runtime/org.eclipse.fx.runtime.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.runtime.min.feature/feature.xml b/releng/runtime/org.eclipse.fx.runtime.min.feature/feature.xml
index a7f9189..4922fd0 100644
--- a/releng/runtime/org.eclipse.fx.runtime.min.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.min.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.runtime.min.feature"
label="e(fx)clipse - Minimal JavaFX OSGi integration bundles"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.runtime.min.feature/pom.xml b/releng/runtime/org.eclipse.fx.runtime.min.feature/pom.xml
index 1a7dd26..937548a 100644
--- a/releng/runtime/org.eclipse.fx.runtime.min.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.runtime.min.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.shared</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.shared.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.swtfx.feature/feature.xml b/releng/runtime/org.eclipse.fx.swtfx.feature/feature.xml
index fa95a5b..23391e6 100644
--- a/releng/runtime/org.eclipse.fx.swtfx.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.swtfx.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.swtfx.feature"
label="SWT on JavaFX implementation"
- version="2.3.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.swtfx.feature/pom.xml b/releng/runtime/org.eclipse.fx.swtfx.feature/pom.xml
index aafd345..de15746 100644
--- a/releng/runtime/org.eclipse.fx.swtfx.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.swtfx.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.experimental</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.experimental.releng/pom.xml</relativePath>
- <version>2.3.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
diff --git a/releng/runtime/org.eclipse.fx.target.feature/feature.xml b/releng/runtime/org.eclipse.fx.target.feature/feature.xml
index ae46602..cbbd5e8 100644
--- a/releng/runtime/org.eclipse.fx.target.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.target.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.target.feature"
label="Target Platform Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
@@ -2075,6 +2075,20 @@
unpack="false"/>
<plugin
+ id="org.eclipse.xtend.lib.macro"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.xtend.lib.macro.source"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
id="org.eclipse.xtext.xbase.lib"
download-size="0"
install-size="0"
diff --git a/releng/runtime/org.eclipse.fx.target.feature/pom.xml b/releng/runtime/org.eclipse.fx.target.feature/pom.xml
index 0826f2e..3396a28 100644
--- a/releng/runtime/org.eclipse.fx.target.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.target.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.target.rcp.feature/feature.xml b/releng/runtime/org.eclipse.fx.target.rcp.feature/feature.xml
index f3992ec..8fd0e9f 100644
--- a/releng/runtime/org.eclipse.fx.target.rcp.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.target.rcp.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.target.rcp.feature"
label="RCP 3.x Target Platform Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/runtime/org.eclipse.fx.target.rcp.feature/pom.xml b/releng/runtime/org.eclipse.fx.target.rcp.feature/pom.xml
index c66e184..fae5fce 100644
--- a/releng/runtime/org.eclipse.fx.target.rcp.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.target.rcp.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/runtime/org.eclipse.fx.target.rcp4.feature/feature.xml b/releng/runtime/org.eclipse.fx.target.rcp4.feature/feature.xml
index 8fc3462..0672d42 100644
--- a/releng/runtime/org.eclipse.fx.target.rcp4.feature/feature.xml
+++ b/releng/runtime/org.eclipse.fx.target.rcp4.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.target.rcp4.feature"
label="RCP e4 Target Platform Feature"
- version="2.6.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description url="http://www.example.com/description">
diff --git a/releng/runtime/org.eclipse.fx.target.rcp4.feature/pom.xml b/releng/runtime/org.eclipse.fx.target.rcp4.feature/pom.xml
index 21ecde1..eac7ad8 100644
--- a/releng/runtime/org.eclipse.fx.target.rcp4.feature/pom.xml
+++ b/releng/runtime/org.eclipse.fx.target.rcp4.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.releng/pom.xml</relativePath>
- <version>2.6.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.basic.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.basic.feature/feature.xml
index 6c60173..5fe8e24 100644
--- a/releng/tooling/org.eclipse.fx.ide.basic.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.basic.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.basic.feature"
label="e(fx)clipse - IDE - Basic"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.basic.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.basic.feature/pom.xml
index 9dbbf44..83f44ce 100644
--- a/releng/tooling/org.eclipse.fx.ide.basic.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.basic.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.converter.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.converter.feature/feature.xml
index 7cff620..ff18413 100644
--- a/releng/tooling/org.eclipse.fx.ide.converter.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.converter.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.converter.feature"
label="e(fx)clipse - IDE - Converter"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.converter.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.converter.feature/pom.xml
index 69bfcfb..748632b 100644
--- a/releng/tooling/org.eclipse.fx.ide.converter.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.converter.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.css.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.css.feature/feature.xml
index 0678edb..db36c9e 100644
--- a/releng/tooling/org.eclipse.fx.ide.css.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.css.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.css.feature"
label="e(fx)clipse - IDE - CSS"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org"
plugin="org.eclipse.fx.ide.ui">
diff --git a/releng/tooling/org.eclipse.fx.ide.css.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.css.feature/pom.xml
index bc1a409..1dc1399 100644
--- a/releng/tooling/org.eclipse.fx.ide.css.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.css.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.feature/feature.xml
index dbe984d..802caa4 100644
--- a/releng/tooling/org.eclipse.fx.ide.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.feature"
label="e(fx)clipse - IDE"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description url="http://www.example.com/description">
diff --git a/releng/tooling/org.eclipse.fx.ide.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.feature/pom.xml
index 20c814d..068feb8 100644
--- a/releng/tooling/org.eclipse.fx.ide.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
diff --git a/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/feature.xml
index 5647703..847d1bc 100644
--- a/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.fxgraph.feature"
label="e(fx)clipse - IDE - FXGraph"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/pom.xml
index 49c2b1b..4df89dd 100644
--- a/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.fxgraph.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.fxml.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.fxml.feature/feature.xml
index 8e3085f..6f4ef67 100644
--- a/releng/tooling/org.eclipse.fx.ide.fxml.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.fxml.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.fxml.feature"
label="e(fx)clipse - IDE - FXML"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.fxml.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.fxml.feature/pom.xml
index e4e6012..1e8c063 100644
--- a/releng/tooling/org.eclipse.fx.ide.fxml.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.fxml.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.gmod.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.gmod.feature/feature.xml
index 05e3939..2c41d40 100644
--- a/releng/tooling/org.eclipse.fx.ide.gmod.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.gmod.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.gmod.feature"
label="e(fx)clipse - IDE - GModel Feature"
- version="2.4.0.qualifier">
+ version="3.0.0.qualifier">
<description url="http://www.example.com/description">
GModel Feature to model generic serialized data
diff --git a/releng/tooling/org.eclipse.fx.ide.gmod.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.gmod.feature/pom.xml
index e2d7d04..1d2831f 100644
--- a/releng/tooling/org.eclipse.fx.ide.gmod.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.gmod.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.l10n.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.l10n.feature/feature.xml
index 46aa2e8..d7bbc50 100644
--- a/releng/tooling/org.eclipse.fx.ide.l10n.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.l10n.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.l10n.feature"
label="e(fx)clipse - IDE - l10n support"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.l10n.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.l10n.feature/pom.xml
index 52c866f..1a318e3 100644
--- a/releng/tooling/org.eclipse.fx.ide.l10n.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.l10n.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.ldef.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.ldef.feature/feature.xml
index afef82b..7cc5221 100644
--- a/releng/tooling/org.eclipse.fx.ide.ldef.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.ldef.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.ldef.feature"
label="e(fx)clipse - IDE - DSL to setup JavaFX based code editors"
- version="2.4.0.qualifier">
+ version="3.0.0.qualifier">
<description>
DSL to create code editors
diff --git a/releng/tooling/org.eclipse.fx.ide.ldef.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.ldef.feature/pom.xml
index 6644079..ef7776d 100644
--- a/releng/tooling/org.eclipse.fx.ide.ldef.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.ldef.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.mobile.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.mobile.feature/feature.xml
index 3d086ca..162f060 100644
--- a/releng/tooling/org.eclipse.fx.ide.mobile.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.mobile.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.mobile.feature"
label="e(fx)clipse - IDE - Mobile"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.mobile.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.mobile.feature/pom.xml
index ff79cd3..aaa5694 100644
--- a/releng/tooling/org.eclipse.fx.ide.mobile.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.mobile.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.pde.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.pde.feature/feature.xml
index dd18abe..e0781e6 100644
--- a/releng/tooling/org.eclipse.fx.ide.pde.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.pde.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.pde.feature"
label="e(fx)clipse - IDE - PDE"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.pde.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.pde.feature/pom.xml
index 28e2ba6..2fef6cc 100644
--- a/releng/tooling/org.eclipse.fx.ide.pde.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.pde.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/releng/tooling/org.eclipse.fx.ide.rrobot.feature/feature.xml b/releng/tooling/org.eclipse.fx.ide.rrobot.feature/feature.xml
index 3e1945b..3abdc3a 100644
--- a/releng/tooling/org.eclipse.fx.ide.rrobot.feature/feature.xml
+++ b/releng/tooling/org.eclipse.fx.ide.rrobot.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.fx.ide.rrobot.feature"
label="e(fx)clipse - IDE - RRobot"
- version="2.4.0.qualifier"
+ version="3.0.0.qualifier"
provider-name="Eclipse.org">
<description>
diff --git a/releng/tooling/org.eclipse.fx.ide.rrobot.feature/pom.xml b/releng/tooling/org.eclipse.fx.ide.rrobot.feature/pom.xml
index f78e9cf..c61e6a8 100644
--- a/releng/tooling/org.eclipse.fx.ide.rrobot.feature/pom.xml
+++ b/releng/tooling/org.eclipse.fx.ide.rrobot.feature/pom.xml
@@ -10,7 +10,7 @@
<groupId>org.eclipse.fx.ide</groupId>
<artifactId>releng</artifactId>
<relativePath>../../org.eclipse.fx.ide.releng/pom.xml</relativePath>
- <version>2.4.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
</parent>
</project>
\ No newline at end of file
diff --git a/testcases/sample.splash.app.feature/.gitignore b/testcases/sample.splash.app.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/testcases/sample.splash.app.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/testcases/sample.splash.app.feature/.project b/testcases/sample.splash.app.feature/.project
new file mode 100644
index 0000000..9a52b05
--- /dev/null
+++ b/testcases/sample.splash.app.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>sample.splash.app.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testcases/sample.splash.app.feature/build.properties b/testcases/sample.splash.app.feature/build.properties
new file mode 100644
index 0000000..b045d39
--- /dev/null
+++ b/testcases/sample.splash.app.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
\ No newline at end of file
diff --git a/testcases/sample.splash.app.feature/feature.xml b/testcases/sample.splash.app.feature/feature.xml
new file mode 100644
index 0000000..198526f
--- /dev/null
+++ b/testcases/sample.splash.app.feature/feature.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="sample.splash.app.feature"
+ label="Sample Splash Application Feature"
+ version="1.0.0.qualifier"
+ provider-name="${BundleProject_bundleVendor}"
+ >
+ <description url="http://www.efxclipse.org">
+ TODO FILL WITH CONTENT
+ </description>
+
+ <copyright url="http://www.efxclipse.org">
+ TODO FILL WITH CONTENT
+ </copyright>
+
+ <license url="http://www.efxclipse.org">
+ TODO FILL WITH CONTENT
+ </license>
+
+ <plugin id="sample.splash.app" install-size="0" version="0.0.0" unpack="false" />
+
+
+</feature>
diff --git a/testcases/sample.splash.app.feature/pom.xml b/testcases/sample.splash.app.feature/pom.xml
new file mode 100644
index 0000000..0324973
--- /dev/null
+++ b/testcases/sample.splash.app.feature/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>Sample Splash - application feature</name>
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+
+ <parent>
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app.releng</artifactId>
+ <relativePath>../sample.splash.app.releng/pom.xml</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+</project>
\ No newline at end of file
diff --git a/testcases/sample.splash.app.product/.gitignore b/testcases/sample.splash.app.product/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/testcases/sample.splash.app.product/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/testcases/sample.splash.app.product/.project b/testcases/sample.splash.app.product/.project
new file mode 100644
index 0000000..b0e42e8
--- /dev/null
+++ b/testcases/sample.splash.app.product/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>sample.splash.app.product</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/testcases/sample.splash.app.product/pom.xml b/testcases/sample.splash.app.product/pom.xml
new file mode 100644
index 0000000..e557b95
--- /dev/null
+++ b/testcases/sample.splash.app.product/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>Sample Splash - application product</name>
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app.product</artifactId>
+ <packaging>eclipse-repository</packaging>
+
+ <parent>
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app.releng</artifactId>
+ <relativePath>../sample.splash.app.releng/pom.xml</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-director-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>materialize-products</id>
+ <goals>
+ <goal>materialize-products</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>archive-products</id>
+ <goals>
+ <goal>archive-products</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/testcases/sample.splash.app.product/sample.splash.app.product.product b/testcases/sample.splash.app.product/sample.splash.app.product.product
new file mode 100644
index 0000000..36ae898
--- /dev/null
+++ b/testcases/sample.splash.app.product/sample.splash.app.product.product
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="Sample Splash" uid="sample.splash.app.product" id="sample.splash.app.product" application="org.eclipse.fx.ui.workbench.fx.main-thread-application" version="1.0.0" useFeatures="true" includeLaunchers="true">
+
+ <configIni use="default">
+ </configIni>
+
+ <launcherArgs>
+ <programArgsMac>-vm /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/bin/java
+ </programArgsMac>
+ <vmArgs>-Dorg.osgi.framework.bundle.parent=ext
+ </vmArgs>
+ </launcherArgs>
+
+ <windowImages/>
+
+ <splash
+ location="sample.splash.app" />
+ <launcher>
+ <solaris/>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
+ <vm>
+ </vm>
+
+ <plugins>
+ </plugins>
+
+ <features>
+ <feature id="sample.splash.app.feature"/>
+ <feature id="org.eclipse.fx.runtime.e4fx.feature"/>
+ <feature id="org.eclipse.equinox.executable" version="3.6.200.v20150602-1417"/>
+ </features>
+
+ <configurations>
+ <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
+ <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+ <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
+ </configurations>
+
+</product>
diff --git a/testcases/sample.splash.app.product/sample.splash.app.product.product-osx.launch b/testcases/sample.splash.app.product/sample.splash.app.product.product-osx.launch
new file mode 100644
index 0000000..dfa6107
--- /dev/null
+++ b/testcases/sample.splash.app.product/sample.splash.app.product.product-osx.launch
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/sample.splash.app.product.product-osx"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-sample.splash.app.product"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/javafx-src.zip&quot;/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.externalArchive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.osgi.framework.bundle.parent=ext -XstartOnFirstThread"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="sample.splash.app.product"/>
+<stringAttribute key="productFile" value="/sample.splash.app.product/sample.splash.app.product.product"/>
+<setAttribute key="selected_features">
+<setEntry value="org.eclipse.fx.runtime.e4fx.feature:default"/>
+<setEntry value="sample.splash.app.feature:default"/>
+</setAttribute>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/testcases/sample.splash.app.product/sample.splash.app.product.product.launch b/testcases/sample.splash.app.product/sample.splash.app.product.product.launch
new file mode 100644
index 0000000..7a8a11e
--- /dev/null
+++ b/testcases/sample.splash.app.product/sample.splash.app.product.product.launch
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/sample.splash.app.product.product"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-sample.splash.app.product"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.osgi.framework.bundle.parent=ext -XstartOnFirstThread"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="sample.splash.app.product"/>
+<stringAttribute key="productFile" value="/sample.splash.app.product/sample.splash.app.product.product"/>
+<setAttribute key="selected_features">
+<setEntry value="org.eclipse.fx.runtime.e4fx.feature:default"/>
+<setEntry value="sample.splash.app.feature:default"/>
+</setAttribute>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/testcases/sample.splash.app.releng/.project b/testcases/sample.splash.app.releng/.project
new file mode 100644
index 0000000..e5c7bf4
--- /dev/null
+++ b/testcases/sample.splash.app.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>sample.splash.app.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/testcases/sample.splash.app.releng/build.xml b/testcases/sample.splash.app.releng/build.xml
new file mode 100644
index 0000000..96e504fd
--- /dev/null
+++ b/testcases/sample.splash.app.releng/build.xml
@@ -0,0 +1,53 @@
+<project name="native-build" default="do-deploy" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
+ <property name="eclipse-app-dir" value="../sample.splash.app.product/target/products/sample.splash.app.product/noenv/noenv/noenv" />
+
+ <target name="init-fx-tasks">
+ <taskdef name="fxosgilauncher" classpath="org.eclipse.fx.ide.ant.jar" classname="org.eclipse.fx.ide.ant.FXOsgiLaunchTask" />
+ <path id="fxant">
+ <filelist>
+ <file name="${java.home}\..\lib\ant-javafx.jar"/>
+ <file name="${java.home}\lib\ant-jfxrt.jar"/>
+ </filelist>
+ </path>
+ <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
+ uri="javafx:com.sun.javafx.tools.ant"
+ classpathref="fxant"/>
+ </target>
+
+ <target name="do-deploy" depends="init-fx-tasks">
+ <fileset id="equinox-launcher" dir="../sample.splash.app.product/target/products/sample.splash.app.product/noenv/noenv/noenv">
+ <filename name="plugins/org.eclipse.equinox.launcher_*.jar"/>
+ </fileset>
+ <fxosgilauncher classpathref="fxant" equinoxlauncherjarref="equinox-launcher"/>
+
+ <fx:resources id="appRes">
+ <fx:fileset dir="." includes="fx-osgi-launch.jar"/>
+ <fx:fileset dir="${eclipse-app-dir}" includes="**/*"/>
+ </fx:resources>
+
+ <fx:application id="fxApplication"
+ name="Sample Splash"
+ mainClass="org.eclipse.equinox.launcher.Main"
+ toolkit="swing"
+
+ />
+
+ <fx:deploy
+ embedJNLP="false"
+ extension="false"
+ includeDT="false"
+ offlineAllowed="true"
+ outdir="${basedir}/deploy"
+ outfile="fix-ide"
+ nativeBundles="all"
+ updatemode="background"
+ >
+ <fx:platform basedir="${java.home}">
+ <fx:property name="org.osgi.framework.bundle.parent" value="ext"/>
+ </fx:platform>
+ <fx:info title="Sample Splash" vendor=""/>
+ <fx:application refid="fxApplication"/>
+ <fx:resources refid="appRes"/>
+ </fx:deploy>
+ </target>
+</project>
\ No newline at end of file
diff --git a/testcases/sample.splash.app.releng/org.eclipse.fx.ide.ant.jar b/testcases/sample.splash.app.releng/org.eclipse.fx.ide.ant.jar
new file mode 100644
index 0000000..9ac8c22
--- /dev/null
+++ b/testcases/sample.splash.app.releng/org.eclipse.fx.ide.ant.jar
Binary files differ
diff --git a/testcases/sample.splash.app.releng/pom.xml b/testcases/sample.splash.app.releng/pom.xml
new file mode 100644
index 0000000..2ce2feb
--- /dev/null
+++ b/testcases/sample.splash.app.releng/pom.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <name>Sample Splash - releng</name>
+
+ <prerequisites>
+ <maven>3.0</maven>
+ </prerequisites>
+
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app.releng</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <properties>
+ <tycho-version>0.25.0</tycho-version>
+ <junit-version>4.11</junit-version>
+ <mockito-version>1.8.4</mockito-version>
+ <platform-version>4.2</platform-version>
+ <efx-version>1.0.0</efx-version>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <modules>
+ <module>../sample.splash.app</module>
+ <module>../sample.splash.app.feature</module>
+ <module>../sample.splash.app.product</module>
+ </modules>
+
+ <repositories>
+ <repository>
+ <id>efxclipse-repo</id>
+ <layout>p2</layout>
+ <url>file://Users/tomschindl/git/efxclipse/releng/org.eclipse.fx.updatesite/target/site</url>
+ </repository>
+
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>tycho</id>
+ <url>http://repository.sonatype.org/content/groups/sonatype-public-grid</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <build>
+
+ <!-- build plugins -->
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <resolver>p2</resolver>
+ <pomDependencies>consider</pomDependencies>
+ <environments>
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ </plugins>
+
+
+ <!-- defines the default settings for the used plugins -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ <source>1.8</source>
+ <target>1.8</target>
+ <extraClasspathElements>
+ <extraClasspathElement>
+ <groupId>javafx</groupId>
+ <artifactId>javafx.mvn</artifactId>
+ <version>2.2.0-SNAPSHOT</version>
+ </extraClasspathElement>
+ </extraClasspathElements>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>plugin-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-packaging-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <archive>
+ <addMavenDescriptor>false</addMavenDescriptor>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit-version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/testcases/sample.splash.app/.classpath b/testcases/sample.splash.app/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/testcases/sample.splash.app/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testcases/sample.splash.app/.gitignore b/testcases/sample.splash.app/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/testcases/sample.splash.app/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/testcases/sample.splash.app/.project b/testcases/sample.splash.app/.project
new file mode 100644
index 0000000..8a6479c
--- /dev/null
+++ b/testcases/sample.splash.app/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>sample.splash.app</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testcases/sample.splash.app/.settings/ca.ecliptical.pde.ds.prefs b/testcases/sample.splash.app/.settings/ca.ecliptical.pde.ds.prefs
new file mode 100644
index 0000000..963a307
--- /dev/null
+++ b/testcases/sample.splash.app/.settings/ca.ecliptical.pde.ds.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+enabled=true
+path=OSGI-INF/services
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/testcases/sample.splash.app/Application.e4xmi b/testcases/sample.splash.app/Application.e4xmi
new file mode 100644
index 0000000..b9e8e10
--- /dev/null
+++ b/testcases/sample.splash.app/Application.e4xmi
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_LBxvwS8CEeac341peg8x-g" elementId="org.eclipse.e4.application" bindingContexts="_LBxvwC8CEeac341peg8x-g">
+ <children xsi:type="basic:TrimmedWindow" xmi:id="_awGCwC8CEeac341peg8x-g" elementId="sample.splash.app.trimmedwindow.hellosplash" label="Hello Splash" x="100" y="100" width="800" height="600">
+ <mainMenu xmi:id="_vIGK8C80Eeac341peg8x-g" elementId="sample.splash.app.menu.0">
+ <children xsi:type="menu:Menu" xmi:id="_vwJCYC80Eeac341peg8x-g" elementId="sample.splash.app.menu.file" label="File">
+ <children xsi:type="menu:DirectMenuItem" xmi:id="_w1YMIC80Eeac341peg8x-g" elementId="sample.splash.app.directmenuitem.restart" label="Restart" contributionURI="bundleclass://sample.splash.app/sample.splash.app.RestartHandler"/>
+ </children>
+ </mainMenu>
+ </children>
+ <rootContext xmi:id="_LBxvwC8CEeac341peg8x-g" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
+ <children xmi:id="_LBxvwi8CEeac341peg8x-g" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
+ <children xmi:id="_LBxvwy8CEeac341peg8x-g" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
+ </rootContext>
+ <addons xmi:id="_LBxvxC8CEeac341peg8x-g" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+ <addons xmi:id="_LBxvxS8CEeac341peg8x-g" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+ <addons xmi:id="_LBxvxi8CEeac341peg8x-g" elementId="org.eclipse.fx.ui.keybindings.e4.service" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingServiceAddon"/>
+ <addons xmi:id="_LBxvxy8CEeac341peg8x-g" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+ <addons xmi:id="_LBxvyC8CEeac341peg8x-g" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+ <addons xmi:id="_LBxvyS8CEeac341peg8x-g" elementId="org.eclipse.fx.ui.keybindings.e4.model" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingProcessingAddon"/>
+ <addons xmi:id="_LBxvyi8CEeac341peg8x-g" elementId="org.eclipse.e4.ui.workbench.addons.HandlerProcessingAddon" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+</application:Application>
diff --git a/testcases/sample.splash.app/META-INF/MANIFEST.MF b/testcases/sample.splash.app/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..bf63ffc
--- /dev/null
+++ b/testcases/sample.splash.app/META-INF/MANIFEST.MF
@@ -0,0 +1,31 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: My Sample App
+Bundle-SymbolicName: sample.splash.app; singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.fx.ui.workbench.fx,
+ org.eclipse.e4.ui.model.workbench,
+ org.eclipse.e4.core.services,
+ org.eclipse.e4.core.di,
+ org.eclipse.e4.ui.di,
+ org.eclipse.e4.core.di.extensions,
+ org.eclipse.fx.ui.theme,
+ org.eclipse.fx.ui.di,
+ org.eclipse.e4.core.contexts,
+ org.eclipse.fx.core.databinding,
+ org.eclipse.fx.ui.databinding,
+ org.eclipse.core.databinding,
+ org.eclipse.core.databinding.observable,
+ org.eclipse.core.databinding.property,
+ org.eclipse.e4.ui.workbench,
+ org.eclipse.e4.ui.services,
+ org.eclipse.fx.ui.services,
+ org.eclipse.osgi
+Import-Package: javax.inject;version="1.0.0",
+ org.eclipse.equinox.app;version="1.1.0",
+ org.eclipse.fx.core;version="3.0.0",
+ org.osgi.service.component.annotations;version="1.2.0"
+Service-Component: OSGI-INF/services/theme-default.xml,
+ OSGI-INF/services/sample.splash.app.LoginSplashStartup.xml
diff --git a/testcases/sample.splash.app/OSGI-INF/services/sample.splash.app.LoginSplashStartup.xml b/testcases/sample.splash.app/OSGI-INF/services/sample.splash.app.LoginSplashStartup.xml
new file mode 100644
index 0000000..464de89
--- /dev/null
+++ b/testcases/sample.splash.app/OSGI-INF/services/sample.splash.app.LoginSplashStartup.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="sample.splash.app.LoginSplashStartup">
+ <property name="service.ranking" type="Integer" value="1"/>
+ <service>
+ <provide interface="org.eclipse.fx.ui.services.startup.StartupProgressTrackerService"/>
+ </service>
+ <implementation class="sample.splash.app.LoginSplashStartup"/>
+</scr:component>
\ No newline at end of file
diff --git a/testcases/sample.splash.app/OSGI-INF/services/theme-default.xml b/testcases/sample.splash.app/OSGI-INF/services/theme-default.xml
new file mode 100644
index 0000000..bbde842
--- /dev/null
+++ b/testcases/sample.splash.app/OSGI-INF/services/theme-default.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="sample.splash.app.themes.default">
+ <implementation class="sample.splash.app.themes.DefaultTheme"/>
+ <service>
+ <provide interface="org.eclipse.fx.ui.services.theme.Theme"/>
+ </service>
+ <reference bind="registerStylesheet" cardinality="0..n" interface="org.eclipse.fx.ui.services.theme.Stylesheet" name="Stylesheet" policy="dynamic" unbind="unregisterStylesheet"/>
+</scr:component>
diff --git a/testcases/sample.splash.app/bin/sample/splash/app/LoginSplashStartup.class b/testcases/sample.splash.app/bin/sample/splash/app/LoginSplashStartup.class
new file mode 100644
index 0000000..a9ab6a3
--- /dev/null
+++ b/testcases/sample.splash.app/bin/sample/splash/app/LoginSplashStartup.class
Binary files differ
diff --git a/testcases/sample.splash.app/bin/sample/splash/app/RestartHandler.class b/testcases/sample.splash.app/bin/sample/splash/app/RestartHandler.class
new file mode 100644
index 0000000..fbb603b
--- /dev/null
+++ b/testcases/sample.splash.app/bin/sample/splash/app/RestartHandler.class
Binary files differ
diff --git a/testcases/sample.splash.app/bin/sample/splash/app/themes/DefaultTheme.class b/testcases/sample.splash.app/bin/sample/splash/app/themes/DefaultTheme.class
new file mode 100644
index 0000000..3b2b2df
--- /dev/null
+++ b/testcases/sample.splash.app/bin/sample/splash/app/themes/DefaultTheme.class
Binary files differ
diff --git a/testcases/sample.splash.app/build.properties b/testcases/sample.splash.app/build.properties
new file mode 100644
index 0000000..b8273d0
--- /dev/null
+++ b/testcases/sample.splash.app/build.properties
@@ -0,0 +1,9 @@
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+ css/,\
+ Application.e4xmi,\
+ OSGI-INF/,\
+ splash.bmp
+
+source.. = src/
diff --git a/testcases/sample.splash.app/css/default.css b/testcases/sample.splash.app/css/default.css
new file mode 100644
index 0000000..c4ad87a
--- /dev/null
+++ b/testcases/sample.splash.app/css/default.css
@@ -0,0 +1 @@
+/* JavaFX CSS - Main CSS-File */
\ No newline at end of file
diff --git a/testcases/sample.splash.app/plugin.xml b/testcases/sample.splash.app/plugin.xml
new file mode 100644
index 0000000..44e1f49
--- /dev/null
+++ b/testcases/sample.splash.app/plugin.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+<extension id="product" point="org.eclipse.core.runtime.products">
+ <product name="Sample Splash" application="org.eclipse.fx.ui.workbench.fx.main-thread-application" >
+ <property name="appName" value="Sample Splash" />
+
+ <property name="applicationXMI" value="sample.splash.app/Application.e4xmi" />
+
+ <property name="cssTheme" value="theme.default" />
+
+ </product>
+
+</extension>
+</plugin>
diff --git a/testcases/sample.splash.app/pom.xml b/testcases/sample.splash.app/pom.xml
new file mode 100644
index 0000000..f1481a3
--- /dev/null
+++ b/testcases/sample.splash.app/pom.xml
@@ -0,0 +1,33 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>Sample Splash - application bundle</name>
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <parent>
+ <groupId>sample.splash</groupId>
+ <artifactId>sample.splash.app.releng</artifactId>
+ <relativePath>../sample.splash.app.releng/pom.xml</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>META-INF/</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/testcases/sample.splash.app/splash.bmp b/testcases/sample.splash.app/splash.bmp
new file mode 100644
index 0000000..d7d2e30
--- /dev/null
+++ b/testcases/sample.splash.app/splash.bmp
Binary files differ
diff --git a/testcases/sample.splash.app/src/sample/splash/app/LoginSplashStartup.java b/testcases/sample.splash.app/src/sample/splash/app/LoginSplashStartup.java
new file mode 100644
index 0000000..858a534
--- /dev/null
+++ b/testcases/sample.splash.app/src/sample/splash/app/LoginSplashStartup.java
@@ -0,0 +1,33 @@
+package sample.splash.app;
+
+import org.eclipse.equinox.app.IApplicationContext;
+import org.eclipse.fx.ui.services.startup.StartupProgressTrackerService;
+import org.eclipse.fx.ui.workbench.fx.services.InteractiveStartupService;
+import org.eclipse.fx.ui.workbench.fx.services.NativeSplashStartupService;
+import org.osgi.service.component.annotations.Component;
+
+import javafx.animation.KeyFrame;
+import javafx.animation.Timeline;
+import javafx.scene.Scene;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.StackPane;
+import javafx.stage.Stage;
+import javafx.util.Duration;
+
+@Component(property="service.ranking:Integer=1")
+public class LoginSplashStartup extends NativeSplashStartupService implements StartupProgressTrackerService {
+
+// @Override
+// protected Scene createScene(IApplicationContext applicationContext, Image splashImage) {
+// return new Scene(new StackPane(new ImageView(splashImage)));
+// }
+//
+// @Override
+// protected void hide(Stage stage) {
+// Timeline t = new Timeline(new KeyFrame(Duration.millis(10_000), (a) -> {
+// super.hide(stage);
+// }));
+// t.play();
+// }
+}
diff --git a/testcases/sample.splash.app/src/sample/splash/app/RestartHandler.java b/testcases/sample.splash.app/src/sample/splash/app/RestartHandler.java
new file mode 100644
index 0000000..915f649
--- /dev/null
+++ b/testcases/sample.splash.app/src/sample/splash/app/RestartHandler.java
@@ -0,0 +1,11 @@
+package sample.splash.app;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.fx.ui.services.restart.RestartService;
+
+public class RestartHandler {
+ @Execute
+ public void restart(RestartService service) {
+ service.restart(false);
+ }
+}
diff --git a/testcases/sample.splash.app/src/sample/splash/app/themes/DefaultTheme.java b/testcases/sample.splash.app/src/sample/splash/app/themes/DefaultTheme.java
new file mode 100644
index 0000000..437684b
--- /dev/null
+++ b/testcases/sample.splash.app/src/sample/splash/app/themes/DefaultTheme.java
@@ -0,0 +1,9 @@
+package sample.splash.app.themes;
+
+import org.eclipse.fx.ui.theme.AbstractTheme;
+
+public class DefaultTheme extends AbstractTheme {
+ public DefaultTheme() {
+ super("theme.default", "Default theme", DefaultTheme.class.getClassLoader().getResource("css/default.css"));
+ }
+}