diff options
author | Goulwen Le Fur | 2015-12-09 09:31:18 +0000 |
---|---|---|
committer | Goulwen Le Fur | 2015-12-09 09:31:18 +0000 |
commit | 12dd7a55f27da248aa9e25d4695f381728aea1ec (patch) | |
tree | c995c4c30343b67880782f22e208faa459406822 | |
parent | 4a8a7fe7a9deb465377ccd235fb43911f41b31c1 (diff) | |
parent | ff9921b79a47dc83dd13cb1c97b28dd543885727 (diff) | |
download | org.eclipse.eef-v1_5_1_BRANCH.tar.gz org.eclipse.eef-v1_5_1_BRANCH.tar.xz org.eclipse.eef-v1_5_1_BRANCH.zip |
Merge branch 'master' of ssh://git.eclipse.org:29418/eef/org.eclipse.eef into v1_5_1_BRANCHv1_5_1_BRANCH
448 files changed, 48541 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 48258e7b9..6bf79930f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ screenshots *~ *.rej *.bak +.DS_Store +*._trace +*.xtendbin diff --git a/doc/org.eclipse.eef.documentation.validator/.classpath b/doc/org.eclipse.eef.documentation.validator/.classpath new file mode 100644 index 000000000..eca7bdba8 --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/.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/doc/org.eclipse.eef.documentation.validator/.project b/doc/org.eclipse.eef.documentation.validator/.project new file mode 100644 index 000000000..0606e959b --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.documentation.validator</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/doc/org.eclipse.eef.documentation.validator/.settings/org.eclipse.jdt.core.prefs b/doc/org.eclipse.eef.documentation.validator/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..0c68a61dc --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/.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/doc/org.eclipse.eef.documentation.validator/META-INF/MANIFEST.MF b/doc/org.eclipse.eef.documentation.validator/META-INF/MANIFEST.MF new file mode 100644 index 000000000..6ba10591b --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: org.eclipse.eef.documentation.validator +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: %Bundle-Vendor +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.emf.ecore, + org.eclipse.emf.ecore.xmi diff --git a/doc/org.eclipse.eef.documentation.validator/about.html b/doc/org.eclipse.eef.documentation.validator/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/doc/org.eclipse.eef.documentation.validator/build.properties b/doc/org.eclipse.eef.documentation.validator/build.properties new file mode 100644 index 000000000..34d2e4d2d --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/AbstractValidationStatus.java b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/AbstractValidationStatus.java new file mode 100644 index 000000000..ed1619312 --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/AbstractValidationStatus.java @@ -0,0 +1,22 @@ +package org.eclipse.eef.documentation.validator.api; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractValidationStatus { + private ValidationStatusKind validationStatusKind; + + protected List<Object> additionalInformation = new ArrayList<>(); + + public AbstractValidationStatus(ValidationStatusKind validationStatusKind) { + this.validationStatusKind = validationStatusKind; + } + + public ValidationStatusKind getValidationStatusKind() { + return validationStatusKind; + } + + public List<Object> getAdditionalInformation() { + return additionalInformation; + } +} diff --git a/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/DocumentationValidator.java b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/DocumentationValidator.java new file mode 100644 index 000000000..85d7026c3 --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/DocumentationValidator.java @@ -0,0 +1,154 @@ +package org.eclipse.eef.documentation.validator.api; + +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Stream; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.ecore.resource.Resource; + +public class DocumentationValidator { + private Set<EClassifier> eClassifiers = new LinkedHashSet<>(); + private Set<EStructuralFeature> eStructuralFeatures = new LinkedHashSet<>(); + + private List<AbstractValidationStatus> status = new ArrayList<>(); + + public void validateLines(Stream<String> lines, Resource resource) { + EObject eObject = resource.getContents().get(0); + if (eObject instanceof EPackage) { + EPackage ePackage = (EPackage) eObject; + + // Validate the documentation + lines.forEach(line -> { + if (!line.contains("#")) { + validateEClassifier(line, ePackage); + } else { + validateEStructuralFeature(line, ePackage); + } + }); + + // Find the EClassifier that have not been documented + ePackage.getEClassifiers().forEach(eClassifier -> { + if (!eClassifiers.contains(eClassifier)) { + this.status.add(new EClassifierValidationStatus(eClassifier, ValidationStatusKind.UNDOCUMENTED_ECLASSIFIER)); + System.out.println("Undocumented EClassifier \"" + eClassifier.getName() + "\""); + } + + // Find the EStructuralFeature that have not been documented + if (eClassifier instanceof EClass) { + EClass eClass = (EClass) eClassifier; + eClass.getEStructuralFeatures().forEach(eStructuralFeature -> { + if (!eStructuralFeatures.contains(eStructuralFeature)) { + this.status.add(new EStructuralFeatureValidationStatus(eStructuralFeature, ValidationStatusKind.UNDOCUMENTED_ESTRUCTURAL_FEATURE)); + System.out.println("Undocumented EStructuralFeature \"" + eClass.getName() + "#" + eStructuralFeature.getName() + "\""); + } + }); + } + }); + + } + } + + private String getQualifiedName(EStructuralFeature eStructuralFeature) { + return eStructuralFeature.getEContainingClass().getName() + "#" + eStructuralFeature.getName(); + } + + private void validateEClassifier(String line, EPackage ePackage) { + String eClassifierName = line.substring("* ".length()).trim(); + EClassifier eClassifier = ePackage.getEClassifier(eClassifierName); + if (eClassifier == null) { + this.status.add(new EClassifierValidationStatus(eClassifier, ValidationStatusKind.ECLASSIFIER_NOT_FOUND)); + System.err.println("EClassifier \"" + eClassifierName + "\" not found"); + } else { + this.eClassifiers.add(eClassifier); + } + } + + private void validateEStructuralFeature(String line, EPackage ePackage) { + String eStructuralFeatureDeclaration = line.substring("* ".length()).trim(); + String eClassifierName = eStructuralFeatureDeclaration.substring(0, eStructuralFeatureDeclaration.indexOf('#')); + EClassifier eClassifier = ePackage.getEClassifier(eClassifierName); + if (eClassifier == null) { + this.status.add(new EClassifierValidationStatus(eClassifier, ValidationStatusKind.ECLASSIFIER_NOT_FOUND)); + System.err.println("EClassifier \"" + eClassifierName + "\" not found"); + } else { + // We won't add the EClassifier here, it needs to be referenced directly + + String eStructuralFeatureName = eStructuralFeatureDeclaration.substring(eStructuralFeatureDeclaration.indexOf('#') + 1, eStructuralFeatureDeclaration.indexOf(':')); + if (eClassifier instanceof EClass) { + EClass eClass = (EClass) eClassifier; + EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(eStructuralFeatureName); + if (eStructuralFeature == null) { + this.status.add(new EStructuralFeatureValidationStatus(eStructuralFeature, ValidationStatusKind.ESTRUCUTURAL_FEATURE_NOT_FOUND)); + System.err.println("EStructuralFeature \"" + eClassifierName + "#" + eStructuralFeatureName + "\" not found"); + } else { + this.eStructuralFeatures.add(eStructuralFeature); + + validateEStructuralFeatureProperties(eStructuralFeatureDeclaration, eStructuralFeature); + } + } + } + } + + private void validateEStructuralFeatureProperties(String eStructuralFeatureDeclaration, EStructuralFeature eStructuralFeature) { + String properties = eStructuralFeatureDeclaration.substring(eStructuralFeatureDeclaration.indexOf(":") + 1).trim(); + if (eStructuralFeature instanceof EAttribute) { + // <type> [<lowerBound>..<upperBound>] return <type> [<lowerBound>..<upperBound>] + EAttribute eAttribute = (EAttribute) eStructuralFeature; + + String type = properties.substring(0, properties.indexOf("[")).trim(); + String eAttributeType = eAttribute.getEAttributeType().getName(); + if (!eAttributeType.equals(type)) { + this.status.add(new EStructuralFeatureValidationStatus(eStructuralFeature, ValidationStatusKind.INVALID_EATTRIBUTE_TYPE)); + System.err.println("Invalid EAttributeType for \"" + this.getQualifiedName(eStructuralFeature) + "\" expected \"" + eAttributeType + "\" but found \"" + type + "\""); + } + + // <lowerBound> & <upperBound> + String bounds = properties.substring(properties.indexOf("[") + 1, properties.indexOf("]")); + this.validateBounds(bounds, eStructuralFeature); + } else { + // <type> [<lowerBound>..<upperBound>] <containment> + EReference eReference = (EReference) eStructuralFeature; + + // <type> + String type = properties.substring(0, properties.indexOf("[")).trim(); + String eReferenceType = eReference.getEReferenceType().getName(); + if (!eReferenceType.equals(type)) { + this.status.add(new EStructuralFeatureValidationStatus(eStructuralFeature, ValidationStatusKind.INVALID_EREFERENCE_TYPE)); + System.err.println("Invalid EReferenceType for \"" + this.getQualifiedName(eStructuralFeature) + "\" expected \"" + eReferenceType + "\" but found \"" + type + "\""); + } + + // <lowerBound> & <upperBound> + String bounds = properties.substring(properties.indexOf("[") + 1, properties.indexOf("]")); + this.validateBounds(bounds, eStructuralFeature); + + if (eReference.isContainment() && !properties.contains("containment")) { + System.err.println("EReference \"" + this.getQualifiedName(eStructuralFeature) + "\" containment expected but non containment found"); + } + if (properties.contains("containment") && !eReference.isContainment()) { + System.err.println("EReference \"" + this.getQualifiedName(eStructuralFeature) + "\" non containment expected but containment found"); + } + } + } + + private void validateBounds(String bounds, EStructuralFeature eStructuralFeature) { + int lowerBound = Integer.parseInt(bounds.substring(0, bounds.indexOf(".."))); + int upperBound = Integer.parseInt(bounds.substring(bounds.indexOf("..") + 2)); + + if (eStructuralFeature.getLowerBound() != lowerBound) { + System.err.println("Invalid lower bound for \"" + this.getQualifiedName(eStructuralFeature) + "\" expected \"" + eStructuralFeature.getLowerBound() + "\" but found \"" + lowerBound + "\""); + } + if (eStructuralFeature.getUpperBound() != upperBound) { + System.err.println("Invalid upper bound for \"" + this.getQualifiedName(eStructuralFeature) + "\" expected \"" + eStructuralFeature.getUpperBound() + "\" but found \"" + upperBound + "\""); + } + } + +} diff --git a/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/EClassifierValidationStatus.java b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/EClassifierValidationStatus.java new file mode 100644 index 000000000..e6b80d61d --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/EClassifierValidationStatus.java @@ -0,0 +1,18 @@ +package org.eclipse.eef.documentation.validator.api; + +import org.eclipse.emf.ecore.EClassifier; + +public class EClassifierValidationStatus extends AbstractValidationStatus { + + private EClassifier eClassifier; + + public EClassifierValidationStatus(EClassifier eClassifier, ValidationStatusKind validationStatusKind) { + super(validationStatusKind); + this.eClassifier = eClassifier; + } + + public EClassifier getEClassifier() { + return eClassifier; + } + +} diff --git a/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/EStructuralFeatureValidationStatus.java b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/EStructuralFeatureValidationStatus.java new file mode 100644 index 000000000..27d38f713 --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/EStructuralFeatureValidationStatus.java @@ -0,0 +1,18 @@ +package org.eclipse.eef.documentation.validator.api; + +import org.eclipse.emf.ecore.EStructuralFeature; + +public class EStructuralFeatureValidationStatus extends AbstractValidationStatus { + + private EStructuralFeature eStructuralFeature; + + public EStructuralFeatureValidationStatus(EStructuralFeature eStructuralFeature, ValidationStatusKind validationStatusKind) { + super(validationStatusKind); + this.eStructuralFeature = eStructuralFeature; + } + + public EStructuralFeature getEStructuralFeature() { + return eStructuralFeature; + } + +} diff --git a/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/ValidationStatusKind.java b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/ValidationStatusKind.java new file mode 100644 index 000000000..785d457ce --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/ValidationStatusKind.java @@ -0,0 +1,13 @@ +package org.eclipse.eef.documentation.validator.api; + +public enum ValidationStatusKind { + UNDOCUMENTED_ECLASSIFIER, + UNDOCUMENTED_ESTRUCTURAL_FEATURE, + ECLASSIFIER_NOT_FOUND, + ESTRUCUTURAL_FEATURE_NOT_FOUND, + INVALID_EATTRIBUTE_TYPE, + INVALID_EREFERENCE_TYPE, + INVALID_LOWER_BOUND, + INVALID_UPPER_BOUND, + INVALID_EREFERENCE_CONTAINMENT +} diff --git a/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/Validator.java b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/Validator.java new file mode 100644 index 000000000..cadd5d614 --- /dev/null +++ b/doc/org.eclipse.eef.documentation.validator/src/org/eclipse/eef/documentation/validator/api/Validator.java @@ -0,0 +1,36 @@ +package org.eclipse.eef.documentation.validator.api; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.stream.Stream; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +public class Validator { + public static void main(String[] args) { + String eefEcorePath = args[0]; + String metamodelMdPath = args[1]; + + // Load the eef.ecore model + ResourceSet resourceSet = new ResourceSetImpl(); + resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new XMIResourceFactoryImpl()); + URI uri = URI.createFileURI(new File(eefEcorePath).getAbsolutePath()); + Resource resource = resourceSet.getResource(uri , true); + + // Read the documentation + try { + Stream<String> lines = Files.lines(Paths.get(new File(metamodelMdPath).toURI())).filter(line -> line.startsWith("* ")); + new DocumentationValidator().validateLines(lines, resource); + } catch (IOException e) { + e.printStackTrace(); + } + } + + +} diff --git a/doc/org.eclipse.eef.documentation/.classpath b/doc/org.eclipse.eef.documentation/.classpath new file mode 100644 index 000000000..710b27a72 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/.classpath @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/doc/org.eclipse.eef.documentation/.project b/doc/org.eclipse.eef.documentation/.project new file mode 100644 index 000000000..016e70aed --- /dev/null +++ b/doc/org.eclipse.eef.documentation/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.documentation</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/doc/org.eclipse.eef.documentation/.settings/org.eclipse.jdt.core.prefs b/doc/org.eclipse.eef.documentation/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..f42de363a --- /dev/null +++ b/doc/org.eclipse.eef.documentation/.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.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/doc/org.eclipse.eef.documentation/META-INF/MANIFEST.MF b/doc/org.eclipse.eef.documentation/META-INF/MANIFEST.MF new file mode 100644 index 000000000..95decaf5c --- /dev/null +++ b/doc/org.eclipse.eef.documentation/META-INF/MANIFEST.MF @@ -0,0 +1,7 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.eef.documentation +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-Localization: plugin diff --git a/doc/org.eclipse.eef.documentation/about.html b/doc/org.eclipse.eef.documentation/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/doc/org.eclipse.eef.documentation/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/doc/org.eclipse.eef.documentation/build.properties b/doc/org.eclipse.eef.documentation/build.properties new file mode 100644 index 000000000..65f02c56e --- /dev/null +++ b/doc/org.eclipse.eef.documentation/build.properties @@ -0,0 +1,14 @@ +################################################################################# +# Copyright (c) 2015 Obeo. +# 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: +# Obeo - initial API and implementation +################################################################################# +bin.includes = META-INF/,\ + .,\ + about.html,\ + plugin.properties diff --git a/doc/org.eclipse.eef.documentation/plugin.properties b/doc/org.eclipse.eef.documentation/plugin.properties new file mode 100644 index 000000000..5bba1d8f1 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/plugin.properties @@ -0,0 +1,12 @@ +################################################################################# +# Copyright (c) 2015 Obeo. +# 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: +# Obeo - initial API and implementation +################################################################################# +pluginName=EEF Documentation +providerName=Eclipse Modeling Project
\ No newline at end of file diff --git a/doc/org.eclipse.eef.documentation/pom.xml b/doc/org.eclipse.eef.documentation/pom.xml new file mode 100644 index 000000000..955a3be73 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2015 Obeo. +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: + Obeo - initial API and implementation +--> +<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> + + <parent> + <groupId>org.eclipse.eef</groupId> + <artifactId>org.eclipse.eef.parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.eef.releng</relativePath> + </parent> + + <artifactId>org.eclipse.eef.documentation</artifactId> + <packaging>eclipse-plugin</packaging> + + <name>EEF Documentation</name> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-source-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/doc/org.eclipse.eef.documentation/sketches/US-1.screen b/doc/org.eclipse.eef.documentation/sketches/US-1.screen new file mode 100644 index 000000000..51f3a0042 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-1.screen @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-10.screen b/doc/org.eclipse.eef.documentation/sketches/US-10.screen new file mode 100644 index 000000000..9a4f409f5 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-10.screen @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Checkbox" id="8" x="156" y="305" text="Abstract" measuredWidth="65" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="9" x="156" y="176" text="Description This is the label description." measuredWidth="216" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Link" id="10" x="156" y="198" text="Open documentation" measuredWidth="117" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="13" x="156" y="218" text="The EClass image" measuredWidth="92" measuredHeight="58" textAlignment="Center" icon="image (large)" iconPosition="top"> + <font/> + </widgets> + <widgets xsi:type="model:Icon" id="14" x="227" y="324" width="55" height="51" measuredWidth="55" measuredHeight="51" icon="image (large)"/> + <widgets xsi:type="model:Label" id="15" x="156" y="327" text="Image picker" measuredWidth="75" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Button" id="16" x="285" y="330" text="..." measuredWidth="29" measuredHeight="25"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-11.screen b/doc/org.eclipse.eef.documentation/sketches/US-11.screen new file mode 100644 index 000000000..3a7090013 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-11.screen @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="393" text="Properties View" measuredWidth="529" measuredHeight="393" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="348" text="General" measuredWidth="509" measuredHeight="348" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="169" text="EClass" measuredWidth="427" measuredHeight="169"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Checkbox" id="8" x="156" y="305" text="Abstract" measuredWidth="65" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="9" x="156" y="176" text="Description This is the label description." measuredWidth="216" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Link" id="10" x="156" y="198" text="Open documentation" measuredWidth="117" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="13" x="156" y="218" text="The EClass image" measuredWidth="92" measuredHeight="58" textAlignment="Center" icon="image (large)" iconPosition="top"> + <font/> + </widgets> + <widgets xsi:type="model:Icon" id="14" x="227" y="324" width="55" height="51" measuredWidth="55" measuredHeight="51" icon="image (large)"/> + <widgets xsi:type="model:Label" id="15" x="156" y="327" text="Image picker" measuredWidth="75" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Button" id="16" x="285" y="330" text="..." measuredWidth="29" measuredHeight="25"> + <font/> + </widgets> + <widgets xsi:type="model:List" id="17" x="208" y="374" text="(o) public class
( ) protected class
( ) private class" measuredWidth="110" measuredHeight="70" border="false" alpha="0"> + <font/> + <items x="0" y="2" width="110" height="22" text="(o) public class"/> + <items x="0" y="24" width="110" height="22" text="( ) protected class"/> + <items x="0" y="46" width="110" height="22" text="( ) private class"/> + </widgets> + <widgets xsi:type="model:Label" id="18" x="156" y="397" text="Visibility" measuredWidth="50" measuredHeight="23"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-12.screen b/doc/org.eclipse.eef.documentation/sketches/US-12.screen new file mode 100644 index 000000000..e96ac778a --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-12.screen @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="393" text="Properties View" measuredWidth="529" measuredHeight="393" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="348" text="General" measuredWidth="509" measuredHeight="348" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="328" text="EClass" measuredWidth="427" measuredHeight="328"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="19" x="156" y="144" text="Documentation" measuredWidth="89" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextArea" id="21" x="244" y="144" width="319" height="65" text="A paragraph of text
A second row of text" measuredWidth="319" measuredHeight="65"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-13.screen b/doc/org.eclipse.eef.documentation/sketches/US-13.screen new file mode 100644 index 000000000..86037936b --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-13.screen @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="393" text="Properties View" measuredWidth="529" measuredHeight="393" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="348" text="General" measuredWidth="509" measuredHeight="348" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="328" text="EClass" measuredWidth="427" measuredHeight="328"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="23" x="156" y="144" text="ESuperTypes" measuredWidth="73" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:List" id="24" x="228" y="144" text="FirstEClass
|SecondEClass
|ThirdEClass" measuredWidth="82" measuredHeight="67"> + <font/> + <items x="0" y="2" width="82" height="21" text="FirstEClass"/> + <items x="0" y="23" width="82" height="21" text="|SecondEClass"/> + <items x="0" y="44" width="82" height="21" text="|ThirdEClass"/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-14.screen b/doc/org.eclipse.eef.documentation/sketches/US-14.screen new file mode 100644 index 000000000..a72646020 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-14.screen @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="393" text="Properties View" measuredWidth="529" measuredHeight="393" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="348" text="General" measuredWidth="509" measuredHeight="348" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="328" text="EClass" measuredWidth="427" measuredHeight="328"> + <font/> + </widgets> + <widgets xsi:type="model:Tree" id="25" x="222" y="148" text="v CurrentEClass
--FirstChildEAttribute
-SecondChildEAttribute
-FirstChildEReference
-SecondChildEReference" measuredWidth="178" measuredHeight="115"> + <items x="0" y="5" width="178" height="21" text="v CurrentEClass"/> + <items x="0" y="26" width="178" height="21" text="--FirstChildEAttribute"/> + <items x="0" y="47" width="178" height="21" text="-SecondChildEAttribute"/> + <items x="0" y="68" width="178" height="21" text="-FirstChildEReference"/> + <items x="0" y="89" width="178" height="21" text="-SecondChildEReference"/> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="26" x="156" y="148" text="EAllContent" measuredWidth="67" measuredHeight="23"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-15.screen b/doc/org.eclipse.eef.documentation/sketches/US-15.screen new file mode 100644 index 000000000..3123e582f --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-15.screen @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="393" text="Properties View" measuredWidth="529" measuredHeight="393" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="348" text="General" measuredWidth="509" measuredHeight="348" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="328" text="EClass" measuredWidth="427" measuredHeight="328"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="26" x="156" y="148" text="EAllContent" measuredWidth="67" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:List" id="27" x="222" y="148" width="163" text="FirstChildEAttribute
FirstChildEReference" measuredWidth="163" measuredHeight="46"> + <font/> + <items x="0" y="2" width="163" height="21" text="FirstChildEAttribute"/> + <items x="0" y="23" width="163" height="21" text="FirstChildEReference"/> + </widgets> + <widgets xsi:type="model:Button" id="28" x="392" y="147" text="..." measuredWidth="29" measuredHeight="25"> + <font/> + </widgets> + <widgets xsi:type="model:Window" id="29" x="608" y="80" width="265" height="185" text="Select EAllContent" measuredWidth="265" measuredHeight="185"/> + <widgets xsi:type="model:Tree" id="30" x="688" y="107" text="v CurrentEClass
|--FirstChildEAttribute
-SecondChildEAttribute
|-FirstChildEReference
-SecondChildEReference" measuredWidth="178" measuredHeight="115" selection="3"> + <items x="0" y="5" width="178" height="21" text="v CurrentEClass"/> + <items x="0" y="26" width="178" height="21" text="|--FirstChildEAttribute"/> + <items x="0" y="47" width="178" height="21" text="-SecondChildEAttribute"/> + <items x="0" y="68" width="178" height="21" text="|-FirstChildEReference"/> + <items x="0" y="89" width="178" height="21" text="-SecondChildEReference"/> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="31" x="622" y="107" text="EAllContent" measuredWidth="67" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Button" id="32" x="830" y="235" text="OK" measuredWidth="36" measuredHeight="25"> + <font/> + </widgets> + <widgets xsi:type="model:Button" id="33" x="772" y="235" text="Cancel" measuredWidth="55" measuredHeight="25"> + <font/> + </widgets> + <widgets xsi:type="model:Arrow" id="36" x="420" y="100" width="189" height="61" measuredWidth="189" measuredHeight="61" left="false" right="true" direction="bottom"/> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-16.screen b/doc/org.eclipse.eef.documentation/sketches/US-16.screen new file mode 100644 index 000000000..dd8a87bc1 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-16.screen @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="393" text="Properties View" measuredWidth="529" measuredHeight="393" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="348" text="General" measuredWidth="509" measuredHeight="348" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="328" text="EClass" measuredWidth="427" measuredHeight="328"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="26" x="156" y="148" text="EAllContent" measuredWidth="67" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Table" id="37" x="156" y="170" text="Name,EType, Derived
FirstChildEAttribute,EBoolean,[]
SecondChildEAttribute,EString,[]
FirstChildEReference,MyEClass,[x]
SecondChildEReference,MyEClass,[]" measuredWidth="248" measuredHeight="113" alternative="#eeeeee"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-2.screen b/doc/org.eclipse.eef.documentation/sketches/US-2.screen new file mode 100644 index 000000000..5f85ffe06 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-2.screen @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-3.screen b/doc/org.eclipse.eef.documentation/sketches/US-3.screen new file mode 100644 index 000000000..55300e895 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-3.screen @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-4.screen b/doc/org.eclipse.eef.documentation/sketches/US-4.screen new file mode 100644 index 000000000..88a766d3f --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-4.screen @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-5.screen b/doc/org.eclipse.eef.documentation/sketches/US-5.screen new file mode 100644 index 000000000..2fb6e12db --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-5.screen @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-6.screen b/doc/org.eclipse.eef.documentation/sketches/US-6.screen new file mode 100644 index 000000000..600859c81 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-6.screen @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Checkbox" id="8" x="156" y="305" text="Abstract" measuredWidth="65" measuredHeight="23"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-7.screen b/doc/org.eclipse.eef.documentation/sketches/US-7.screen new file mode 100644 index 000000000..98f3e184d --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-7.screen @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Checkbox" id="8" x="156" y="305" text="Abstract" measuredWidth="65" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="9" x="156" y="176" text="Description This is the label description." measuredWidth="216" measuredHeight="23"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-8.screen b/doc/org.eclipse.eef.documentation/sketches/US-8.screen new file mode 100644 index 000000000..ad176e324 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-8.screen @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Checkbox" id="8" x="156" y="305" text="Abstract" measuredWidth="65" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="9" x="156" y="176" text="Description This is the label description." measuredWidth="216" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Link" id="10" x="156" y="198" text="Open documentation" measuredWidth="117" measuredHeight="23"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/sketches/US-9.screen b/doc/org.eclipse.eef.documentation/sketches/US-9.screen new file mode 100644 index 000000000..f8b0d43d5 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/sketches/US-9.screen @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<model:Screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://wireframesketcher.com/1.0/model.ecore"> + <widgets xsi:type="model:TabbedPane" id="2" x="64" y="80" width="529" height="377" text="Properties View" measuredWidth="529" measuredHeight="377" selection="0"> + <items x="10" y="0" width="104" height="27" text="Properties View"/> + <font/> + </widgets> + <widgets xsi:type="model:TabbedPane" id="3" x="74" y="117" width="509" height="330" text="General" measuredWidth="509" measuredHeight="330" selection="0" position="left"> + <items x="0" y="10" width="62" height="25" text="General"/> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="4" x="146" y="127" width="427" height="145" text="ENamedElement" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Group" id="5" x="146" y="288" width="427" height="145" text="EClass" measuredWidth="427" measuredHeight="145"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="6" x="156" y="144" text="Name" measuredWidth="38" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:TextField" id="7" x="193" y="144" width="361" text="MyEClass" measuredWidth="361" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Checkbox" id="8" x="156" y="305" text="Abstract" measuredWidth="65" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="9" x="156" y="176" text="Description This is the label description." measuredWidth="216" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Link" id="10" x="156" y="198" text="Open documentation" measuredWidth="117" measuredHeight="23"> + <font/> + </widgets> + <widgets xsi:type="model:Label" id="13" x="156" y="218" text="The EClass image" measuredWidth="92" measuredHeight="58" textAlignment="Center" icon="image (large)" iconPosition="top"> + <font/> + </widgets> + <hRuler/> + <vRuler/> + <font size="12px"/> +</model:Screen> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-1.xmi b/doc/org.eclipse.eef.documentation/userstories/US-1.xmi new file mode 100644 index 000000000..efa29d111 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-1.xmi @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-10.xmi b/doc/org.eclipse.eef.documentation/userstories/US-10.xmi new file mode 100644 index 000000000..e278f45ee --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-10.xmi @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newValue)"/> + <widgets + xsi:type="eef:EEFLabelDescription" + identifier="org.eclipse.eef.ecore.enamedelement.description" + labelExpression="aql:'Description'" + valueExpression="aql:'This is the label description.'"/> + <widgets + xsi:type="eef:EEFLinkDescription" + identifier="org.eclipse.eef.ecore.enamedelement.opendocumentation" + labelExpression="aql:'Open documentation'" + onClickExpression="aql:viewSemanticCandidate.openDocumentation()"/> + <widgets + xsi:type="eef:EEFImageDescription" + identifier="org.eclipse.eef.ecore.enamedelement.image" + labelExpression="aql:'The EClass image'" + valueExpression="aql:'platform:/plugins/org/eclipse/emf/icons/obj16/EClass.gif'"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.eclass.abstract" + labelExpression="aql:'Abstract'" + valueExpression="aql:viewSemanticCandidate.isAbstract" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('abstract'), newValue)"/> + <widgets + xsi:type="eef:EEFImagePickerDescription" + identifier="org.eclipse.eef.ecore.eclass.imagepicker" + labelExpression="aql:'Image picker'" + valueExpression="aql:'platform:/plugins/org.eclipse.emf/icons/obj16/EClass.gif'" + editExpression="aql:viewSemanticCandidate.updateImage(newImage)" + candidatesExpression="aql:viewSemanticCandidate.getCandidateImages()"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-11.xmi b/doc/org.eclipse.eef.documentation/userstories/US-11.xmi new file mode 100644 index 000000000..d7e87e9ad --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-11.xmi @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newName)"/> + <widgets + xsi:type="eef:EEFLabelDescription" + identifier="org.eclipse.eef.ecore.enamedelement.description" + labelExpression="aql:'Description'" + valueExpression="aql:'This is the label description.'"/> + <widgets + xsi:type="eef:EEFLinkDescription" + identifier="org.eclipse.eef.ecore.enamedelement.opendocumentation" + labelExpression="aql:'Open documentation'" + onClickExpression="aql:viewSemanticCandidate.openDocumentation()"/> + <widgets + xsi:type="eef:EEFImageDescription" + identifier="org.eclipse.eef.ecore.enamedelement.image" + labelExpression="aql:'The EClass image'" + valueExpression="aql:'platform:/plugins/org/eclipse/emf/icons/obj16/EClass.gif'"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.eclass.abstract" + labelExpression="aql:'Abstract'" + valueExpression="aql:viewSemanticCandidate.isAbstract" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('abstract'), newValue)"/> + <widgets + xsi:type="eef:EEFImagePickerDescription" + identifier="org.eclipse.eef.ecore.eclass.imagepicker" + labelExpression="aql:'Image picker'" + valueExpression="aql:'platform:/plugins/org.eclipse.emf/icons/obj16/EClass.gif'" + editExpression="aql:viewSemanticCandidate.updateImage(newImage)" + candidatesExpression="aql:viewSemanticCandidate.getCandidateImages()"/> + <widgets + xsi:type="eef:EEFRadioDescription" + identifier="org.eclipse.eef.ecore.eclass.visibility" + labelExpression="aql:'Visibility'" + valueExpression="aql:viewSemanticCandidate.getVisibility()" + editExpression="aql:viewSemanticCandidate.updateVisibility(newVisibility)" + candidatesExpression="aql:Sequence{'public','protected', 'private'}" + candidateDisplayExpression="aql:visibility+' class'"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-12.xmi b/doc/org.eclipse.eef.documentation/userstories/US-12.xmi new file mode 100644 index 000000000..41cad8afb --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-12.xmi @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.documentation" + labelExpression="aql:'Documentation'" + valueExpression="aql:viewSemanticCandidate.getDocumentation()" + editExpression="aql:viewSemanticCandidate.updateDocumentation(newValue)" + lineCount="4"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-13.xmi b/doc/org.eclipse.eef.documentation/userstories/US-13.xmi new file mode 100644 index 000000000..18ead82ab --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-13.xmi @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFSelectDescription" + identifier="org.eclipse.eef.ecore.eclass.esupertypes" + labelExpression="aql:'ESuperTypes'" + valueExpression="aql:viewSemanticCandidate.eSuperTypes" + editExpression="aql:viewSemanticCandidate.updateSuperTypes(newSuperTypes)" + candidatesExpression="aql:viewSemanticCandidate.eResource().eAllContents(ecore::EClass)" + multiple="true" + candidateDisplayExpression="aql:candidate.name"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-14.xmi b/doc/org.eclipse.eef.documentation/userstories/US-14.xmi new file mode 100644 index 000000000..7746fdd37 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-14.xmi @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFTreeDescription" + identifier="org.eclipse.eef.ecore.eclass.eallcontent" + labelExpression="aql:'EAllContent'" + valueExpression="aql:viewSemanticCandidate.getRelatedObjects()" + treeStructure="//@treeStructures.0" + editExpression="aql:viewSemanticCandidate.updateRelatedObjects(newValue)"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> + <treeStructures + xsi:type="eef:EEFInterpretedTreeStructureDescription" + identifier="org.eclipse.eef.ecore.treestructure" + rootsExpression="aql:containerSemanticCandidate" + childrenExpression="aql:parent.eContents()" + selectablePredicateExpression="aql:candidate.ancestors.contains(containerSemanticCandidate)" + candidateDisplayExpression="aql:candidate.name"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-15.xmi b/doc/org.eclipse.eef.documentation/userstories/US-15.xmi new file mode 100644 index 000000000..0876ec959 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-15.xmi @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFTreeDescription" + identifier="org.eclipse.eef.ecore.eclass.eallcontent" + labelExpression="aql:'EAllContent'" + valueExpression="aql:viewSemanticCandidate.getRelatedObjects()" + treeStructure="//@treeStructures.0" + editExpression="aql:viewSemanticCandidate.updateRelatedObjects(newValue)"/> + <widgets + xsi:type="eef:EEFTreeDialogSelectDescription" + labelExpression="" + semanticCandidateExpression="" + tree="//@groups.0/@container/@widgets.0"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> + <treeStructures + xsi:type="eef:EEFInterpretedTreeStructureDescription" + identifier="org.eclipse.eef.ecore.treestructure" + rootsExpression="aql:containerSemanticCandidate" + childrenExpression="aql:parent.eContents()" + selectablePredicateExpression="aql:candidate.ancestors.contains(containerSemanticCandidate)" + candidateDisplayExpression="aql:candidate.name"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-16.xmi b/doc/org.eclipse.eef.documentation/userstories/US-16.xmi new file mode 100644 index 000000000..a18b05328 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-16.xmi @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFTableDescription" + identifier="org.eclipse.eef.ecore.eclass.eallcontent" + labelExpression="aql:'EAllContent'" + valueExpression="aql:viewSemanticCandidate.getRelatedObjects()" + editExpression="aql:viewSemanticCandidate.updateRelatedObjects(selection)" + tableStructure="//@tableStructures.0"/> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.tabledescription.name" + labelExpression="" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newValue)"/> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.tabledescription.type" + labelExpression="" + valueExpression="aql:viewSemanticCandidate.eType" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('eType'), newValue)"/> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.tabledescription.derived" + labelExpression="" + valueExpression="aql:viewSemanticCandidate.derived" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('derived'), newValue)"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> + <tableStructures + xsi:type="eef:EEFInterpretedTableStructureDescription" + identifier="org.eclipse.eef.ecore.tablestructure"> + <columns + headerExpression="aql:'Name'" + cellWidget="//@groups.0/@container/@widgets.1"/> + <columns + headerExpression="aql:'EType'" + cellWidget="//@groups.0/@container/@widgets.2"/> + <columns + headerExpression="aql:'Derived'" + cellWidget="//@groups.0/@container/@widgets.3"/> + <line headerExpression="" + semanticCandidatesExpression="aql:viewSemanticCandidate.getRelatedObjects()" + domainClass="ecore::EClass"/> + </tableStructures> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-2.xmi b/doc/org.eclipse.eef.documentation/userstories/US-2.xmi new file mode 100644 index 000000000..d4ba96239 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-2.xmi @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-3.xmi b/doc/org.eclipse.eef.documentation/userstories/US-3.xmi new file mode 100644 index 000000000..2d6ebe703 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-3.xmi @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.properties" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""/> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-4.xmi b/doc/org.eclipse.eef.documentation/userstories/US-4.xmi new file mode 100644 index 000000000..6acdc7a46 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-4.xmi @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""/> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""/> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-5.xmi b/doc/org.eclipse.eef.documentation/userstories/US-5.xmi new file mode 100644 index 000000000..b209e3480 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-5.xmi @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newValue)"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""/> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-6.xmi b/doc/org.eclipse.eef.documentation/userstories/US-6.xmi new file mode 100644 index 000000000..c38559882 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-6.xmi @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newName)"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.eclass.abstract" + labelExpression="aql:'Abstract'" + valueExpression="aql:viewSemanticCandidate.isAbstract" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('abstract'), newAbstract)"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-7.xmi b/doc/org.eclipse.eef.documentation/userstories/US-7.xmi new file mode 100644 index 000000000..6cb19e0e9 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-7.xmi @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newValue)"/> + <widgets + xsi:type="eef:EEFLabelDescription" + identifier="org.eclipse.eef.ecore.enamedelement.description" + labelExpression="aql:'Description'" + valueExpression="aql:'This is the label description.'"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.eclass.abstract" + labelExpression="aql:'Abstract'" + valueExpression="aql:viewSemanticCandidate.isAbstract" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('abstract'), newValue)"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-8.xmi b/doc/org.eclipse.eef.documentation/userstories/US-8.xmi new file mode 100644 index 000000000..9a372d748 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-8.xmi @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newValue)"/> + <widgets + xsi:type="eef:EEFLabelDescription" + identifier="org.eclipse.eef.ecore.enamedelement.description" + labelExpression="aql:'Description'" + valueExpression="aql:'This is the label description.'"/> + <widgets + xsi:type="eef:EEFLinkDescription" + identifier="org.eclipse.eef.ecore.enamedelement.opendocumentation" + labelExpression="aql:'Open documentation'" + onClickExpression="aql:viewSemanticCandidate.openDocumentation()"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.eclass.abstract" + labelExpression="aql:'Abstract'" + valueExpression="aql:viewSemanticCandidate.isAbstract" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('abstract'), newValue)"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> + <javaExtensions + qualifiedName="org.eclipse.eef.myview.Service"/> +</eef:EEFViewDescription> diff --git a/doc/org.eclipse.eef.documentation/userstories/US-9.xmi b/doc/org.eclipse.eef.documentation/userstories/US-9.xmi new file mode 100644 index 000000000..a86109976 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-9.xmi @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<eef:EEFViewDescription + xmi:version="2.0" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:eef="http://www.eclipse.org/eef" + xsi:schemaLocation="http://www.eclipse.org/eef ../../org.eclipse.eef/model/eef.ecore" + identifier="org.eclipse.eef.ecore" + labelExpression="aql:viewSemanticCandidate.name"> + <ePackageNsUris>http://www.eclipse.org/emf/2002/Ecore</ePackageNsUris> + <groups identifier="org.eclipse.eef.ecore.enamedelement" + labelExpression="aql:'ENamedElement'" + domainClass="ecore.ENamedElement" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.enamedelement.container" + domainClass="ecore.ENamedElement"> + <widgets + xsi:type="eef:EEFTextDescription" + identifier="org.eclipse.eef.ecore.enamedelement.name" + labelExpression="aql:'Name'" + valueExpression="aql:viewSemanticCandidate.name" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('name'), newValue)"/> + <widgets + xsi:type="eef:EEFLabelDescription" + identifier="org.eclipse.eef.ecore.enamedelement.description" + labelExpression="aql:'Description'" + valueExpression="aql:'This is the label description.'"/> + <widgets + xsi:type="eef:EEFLinkDescription" + identifier="org.eclipse.eef.ecore.enamedelement.opendocumentation" + labelExpression="aql:'Open documentation'" + onClickExpression="aql:viewSemanticCandidate.openDocumentation()"/> + <widgets + xsi:type="eef:EEFImageDescription" + identifier="org.eclipse.eef.ecore.enamedelement.image" + labelExpression="aql:'The EClass image'" + valueExpression="aql:'platform:/plugins/org/eclipse/emf/icons/obj16/EClass.gif'"/> + </container> + </groups> + <groups identifier="org.eclipse.eef.ecore.eclass" + labelExpression="aql:'EClass'" + domainClass="ecore.EClass" + semanticCandidateExpression=""> + <container + identifier="org.eclipse.eef.ecore.eclass.container"> + <widgets + xsi:type="eef:EEFCheckboxDescription" + identifier="org.eclipse.eef.ecore.eclass.abstract" + labelExpression="aql:'Abstract'" + valueExpression="aql:viewSemanticCandidate.isAbstract" + editExpression="aql:viewSemanticCandidate.eSet(viewSemanticCandidate.eClass().getEStructuralFeature('abstract'), newValue)"/> + </container> + </groups> + <pages identifier="org.eclipse.eef.ecore.general" + labelExpression="aql:'General'" + domainClass="ecore.EClass"/> +</eef:EEFViewDescription> diff --git a/features/org.eclipse.eef.sdk-feature/.project b/features/org.eclipse.eef.sdk-feature/.project new file mode 100644 index 000000000..c816fbb0c --- /dev/null +++ b/features/org.eclipse.eef.sdk-feature/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.sdk-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/features/org.eclipse.eef.sdk-feature/about.html b/features/org.eclipse.eef.sdk-feature/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/features/org.eclipse.eef.sdk-feature/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/features/org.eclipse.eef.sdk-feature/build.properties b/features/org.eclipse.eef.sdk-feature/build.properties new file mode 100644 index 000000000..ccb677bd0 --- /dev/null +++ b/features/org.eclipse.eef.sdk-feature/build.properties @@ -0,0 +1,3 @@ +bin.includes = feature.xml,\ + about.html,\ + feature.properties diff --git a/features/org.eclipse.eef.sdk-feature/feature.properties b/features/org.eclipse.eef.sdk-feature/feature.properties new file mode 100644 index 000000000..d3c4fabef --- /dev/null +++ b/features/org.eclipse.eef.sdk-feature/feature.properties @@ -0,0 +1,15 @@ +# Copyright (c) 2015 Obeo. +# 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.htm + +featureName=EEF Feature +featureProvider=Eclipse Modeling Project + +descriptionUrl=TODO +description=TODO +copyrightUrl=TODO +copyright=TODO +licenseUrl=TODO +license=TODO
\ No newline at end of file diff --git a/features/org.eclipse.eef.sdk-feature/feature.xml b/features/org.eclipse.eef.sdk-feature/feature.xml new file mode 100644 index 000000000..77f6aa010 --- /dev/null +++ b/features/org.eclipse.eef.sdk-feature/feature.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<feature + id="org.eclipse.eef.sdk.feature" + label="%featureName" + version="2.0.0.qualifier" + provider-name="%featureProvider"> + + <description url="%descriptionUrl"> + %description + </description> + + <copyright url="%copyrightUrl"> + %copyright + </copyright> + + <license url="%licenseUrl"> + %license + </license> + + <plugin + id="org.eclipse.eef" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.eef.edit" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.eef.core" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.eef.documentation" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.eef.ide" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.eef.ide.ui" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + +</feature> diff --git a/features/org.eclipse.eef.sdk-feature/pom.xml b/features/org.eclipse.eef.sdk-feature/pom.xml new file mode 100644 index 000000000..e229ed57f --- /dev/null +++ b/features/org.eclipse.eef.sdk-feature/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2015 Obeo. +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: + Obeo - initial API and implementation +--> +<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> + + <parent> + <groupId>org.eclipse.eef</groupId> + <artifactId>org.eclipse.eef.parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.eef.releng</relativePath> + </parent> + + <artifactId>org.eclipse.eef.sdk.feature</artifactId> + <packaging>eclipse-feature</packaging> + + <name>EEF SDK Feature</name> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-source-feature-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.core/.checkstyle b/plugins/org.eclipse.eef.core/.checkstyle new file mode 100644 index 000000000..121faf77d --- /dev/null +++ b/plugins/org.eclipse.eef.core/.checkstyle @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> + <local-check-config name="EEF" location="/org.eclipse.eef.releng/codestyle/EEFCheckstyleConfiguration.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </local-check-config> + <fileset name="all" enabled="true" check-config-name="EEF" local="true"> + <file-match-pattern match-pattern="." include-pattern="true"/> + </fileset> +</fileset-config> diff --git a/plugins/org.eclipse.eef.core/.classpath b/plugins/org.eclipse.eef.core/.classpath new file mode 100644 index 000000000..ad32c83a7 --- /dev/null +++ b/plugins/org.eclipse.eef.core/.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.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.eef.core/.project b/plugins/org.eclipse.eef.core/.project new file mode 100644 index 000000000..7d4488af3 --- /dev/null +++ b/plugins/org.eclipse.eef.core/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.core</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>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fb8257839 --- /dev/null +++ b/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,398 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.cleanOutputFolder=clean +org.eclipse.jdt.core.builder.duplicateResourceTask=warning +org.eclipse.jdt.core.builder.invalidClasspath=abort +org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter= +org.eclipse.jdt.core.circularClasspath=error +org.eclipse.jdt.core.classpath.exclusionPatterns=enabled +org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled +org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=error +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=error +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=150 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=true +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.incompatibleJDKLevel=ignore +org.eclipse.jdt.core.incompleteClasspath=error +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.launching.prefs new file mode 100644 index 000000000..3bb235278 --- /dev/null +++ b/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.launching.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore diff --git a/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..a7564c761 --- /dev/null +++ b/plugins/org.eclipse.eef.core/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,68 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EEF +formatter_settings_version=12 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=com;java;javax;org; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * Return the ${bare_field_name}.\n *\n * @return the ${bare_field_name}\n */</template><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * Sets the ${bare_field_name}.\n *\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) 2015 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * Obeo - initial API and implementation\n *******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * {@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">EEFCorePlugin.getImplementation().logError(message, e);</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="false" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return this.${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=false +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=false +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=false +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=false +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=false +sp_cleanup.remove_redundant_type_arguments=false +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=false +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=false +sp_cleanup.remove_unused_private_types=false +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.eef.core/.settings/org.eclipse.pde.core.prefs b/plugins/org.eclipse.eef.core/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 000000000..923c37fb8 --- /dev/null +++ b/plugins/org.eclipse.eef.core/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +resolve.requirebundle=false diff --git a/plugins/org.eclipse.eef.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.eef.core/.settings/org.eclipse.pde.prefs new file mode 100644 index 000000000..3112e810d --- /dev/null +++ b/plugins/org.eclipse.eef.core/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=1 +compilers.p.build.java.compiler=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=0 +compilers.p.missing-version-import-package=0 +compilers.p.missing-version-require-bundle=0 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=0 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.eef.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.eef.core/META-INF/MANIFEST.MF new file mode 100644 index 000000000..72e025ea2 --- /dev/null +++ b/plugins/org.eclipse.eef.core/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.eef.core +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)", + org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)" +Import-Package: com.google.common.base;version="[15.0.0,16.0.0)", + com.google.common.collect;version="[15.0.0,16.0.0)", + org.eclipse.eef;version="[2.0.0,3.0.0)", + org.eclipse.sirius.common.interpreter.api;version="1.0.0" +Export-Package: org.eclipse.eef.core.api;version="2.0.0", + org.eclipse.eef.core.api.controllers;version="2.0.0", + org.eclipse.eef.core.internal;version="2.0.0";x-internal:=true, + org.eclipse.eef.core.internal.controllers;version="2.0.0" +Bundle-Localization: plugin diff --git a/plugins/org.eclipse.eef.core/about.html b/plugins/org.eclipse.eef.core/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/plugins/org.eclipse.eef.core/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.core/build.properties b/plugins/org.eclipse.eef.core/build.properties new file mode 100644 index 000000000..a0a78460e --- /dev/null +++ b/plugins/org.eclipse.eef.core/build.properties @@ -0,0 +1,15 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + about.html,\ + plugin.properties +javacProjectSettings = true +additional.bundles = com.google.guava diff --git a/plugins/org.eclipse.eef.core/plugin.properties b/plugins/org.eclipse.eef.core/plugin.properties new file mode 100644 index 000000000..0a8dc5600 --- /dev/null +++ b/plugins/org.eclipse.eef.core/plugin.properties @@ -0,0 +1,9 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +pluginName = EEF Core +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.eef.core/pom.xml b/plugins/org.eclipse.eef.core/pom.xml new file mode 100644 index 000000000..7ac833b17 --- /dev/null +++ b/plugins/org.eclipse.eef.core/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2015 Obeo. +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: + Obeo - initial API and implementation +--> +<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> + + <parent> + <groupId>org.eclipse.eef</groupId> + <artifactId>org.eclipse.eef.parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.eef.releng</relativePath> + </parent> + + <artifactId>org.eclipse.eef.core</artifactId> + <packaging>eclipse-plugin</packaging> + + <name>EEF Core</name> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-source-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFContainerParent.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFContainerParent.java new file mode 100644 index 000000000..4f2ee56b4 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFContainerParent.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +/** + * This interface is used as the common parent of both {@link EEFContainer} and {@link EEFGroup}. + * + * @author sbegaudeau + */ +public interface EEFContainerParent { + // nothing +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFExpressionUtils.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFExpressionUtils.java new file mode 100644 index 000000000..466c42595 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFExpressionUtils.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +/** + * Utility class containing the constants from the EEFExpression model. + * + * @author sbegaudeau + */ +public final class EEFExpressionUtils { + + /** + * The self variable. + */ + public static final String SELF = "self"; //$NON-NLS-1$ + + /** + * The constructor. + */ + private EEFExpressionUtils() { + // prevent instantiation + } + + /** + * Utility class containing the constants related to the {@link org.eclipse.eef.core.api.EEFText}. + * + * @author sbegaudeau + */ + public final class EEFText { + /** + * The name of the variable newValue. + */ + public static final String NEW_VALUE = "newValue"; //$NON-NLS-1$ + + /** + * The constructor. + */ + private EEFText() { + // prevent instantiation + } + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFGroup.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFGroup.java new file mode 100644 index 000000000..803995fc7 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFGroup.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +import org.eclipse.eef.EEFGroupDescription; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; + +/** + * The {@link EEFGroup} is used as the main structure within a page. + * + * @author sbegaudeau + */ +public interface EEFGroup extends EEFContainerParent { + /** + * Returns the description of the {@link EEFGroup}. + * + * @return The {@link EEFGroupDescription} + */ + EEFGroupDescription getDescription(); + + /** + * Returns the page containing the group. + * + * @return The page containing the group + */ + EEFPage getPage(); + + /** + * Returns the variable manager. + * + * @return The variable manager + */ + IVariableManager getVariableManager(); + + /** + * Returns the interpreter. + * + * @return The interpreter + */ + IInterpreter getInterpreter(); + + /** + * Returns the editing domain. + * + * @return The editing domain + */ + TransactionalEditingDomain getEditingDomain(); +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFPage.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFPage.java new file mode 100644 index 000000000..416629a3d --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFPage.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +import java.util.List; + +import org.eclipse.eef.EEFPageDescription; + +/** + * The {@link EEFPage} will control the content of a tab. + * + * @author sbegaudeau + */ +public interface EEFPage { + /** + * Returns the description of the {@link EEFPage}. + * + * @return The {@link EEFPageDescription} + */ + EEFPageDescription getDescription(); + + /** + * Returns the label. + * + * @return The label + */ + String getLabel(); + + /** + * Returns the {@link EEFGroup} composing this {@link EEFPage}. + * + * @return The {@link EEFGroup} + */ + List<EEFGroup> getGroups(); + + /** + * Returns the view containing the page. + * + * @return The view containing the page + */ + EEFView getView(); + + /** + * Returns the variable manager. + * + * @return The variable manager + */ + IVariableManager getVariableManager(); + +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFVariableManagerFactory.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFVariableManagerFactory.java new file mode 100644 index 000000000..6736ccc0f --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFVariableManagerFactory.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +import org.eclipse.eef.core.internal.EEFVariableManager; + +/** + * The factory used to create the {@link IVariableManager}. + * + * @author sbegaudeau + */ +public class EEFVariableManagerFactory { + /** + * Returns a new instance of the {@link IVariableManager}. + * + * @return A new instance of the {@link IVariableManager} + */ + public IVariableManager createVariableManager() { + return new EEFVariableManager(); + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFView.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFView.java new file mode 100644 index 000000000..df2e51c4b --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFView.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +import java.util.List; + +import org.eclipse.eef.EEFViewDescription; +import org.eclipse.emf.ecore.EObject; + +/** + * The view if the root concept of the EEF model. + * + * @author sbegaudeau + */ +public interface EEFView { + + /** + * Initializes the view by creating the pages and groups used to compute the tab and section descriptors. + */ + void initialize(); + + /** + * Sets the input of the view. + * + * @param eObject + * The input + */ + void setInput(EObject eObject); + + /** + * Returns the description of the {@link EEFView}. + * + * @return The {@link EEFViewDescription} + */ + EEFViewDescription getDescription(); + + /** + * Returns the {@link EEFPage} to display in the {@link EEFView}. + * + * @return The {@link EEFPage} + */ + List<EEFPage> getPages(); +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFViewFactory.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFViewFactory.java new file mode 100644 index 000000000..67a771c82 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/EEFViewFactory.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +import java.util.List; + +import org.eclipse.eef.EEFViewDescription; +import org.eclipse.eef.core.internal.EEFCompoundInterpreter; +import org.eclipse.eef.core.internal.EEFViewImpl; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IInterpreterProvider; + +/** + * The factory used to create the {@link EEFView}. + * + * @author sbegaudeau + */ +public class EEFViewFactory { + /** + * Creates a new {@link EEFView} from the given {@link EEFViewDescription} and the {@link IEEFContext}. + * + * @param eefViewDescription + * The description of the {@link EEFView} + * @param variableManager + * The variable manager + * @param interpreterProviders + * The {@link IInterpreterProvider} available + * @param editingDomain + * The editing domain + * @param eObject + * The input + * @return The {@link EEFView} fully initialized + */ + public EEFView createEEFView(EEFViewDescription eefViewDescription, IVariableManager variableManager, + List<IInterpreterProvider> interpreterProviders, TransactionalEditingDomain editingDomain, EObject eObject) { + EEFView eefView = new EEFViewImpl(eefViewDescription, variableManager, new EEFCompoundInterpreter(interpreterProviders), editingDomain); + eefView.setInput(eObject); + eefView.initialize(); + return eefView; + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/IVariableManager.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/IVariableManager.java new file mode 100644 index 000000000..4afe40a45 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/IVariableManager.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api; + +import java.util.Map; + +/** + * The variable manager is used to handle the state of the variables. + * + * @author sbegaudeau + */ +public interface IVariableManager { + /** + * Puts the new value of the variable. + * + * @param name + * The name of the variable + * @param value + * The value of the variable + * @return The previous value of the variable or <code>null</code> otherwise + */ + Object put(String name, Object value); + + /** + * Returns the variables. + * + * @return The variables + */ + Map<String, Object> getVariables(); + + /** + * Creates a child {@link IVariableManager}. + * + * @return A child {@link IVariableManager} + */ + IVariableManager createChild(); + + /** + * Clear the variable manager and its children. + */ + void clear(); + +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/EEFControllersFactory.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/EEFControllersFactory.java new file mode 100644 index 000000000..f0453850d --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/EEFControllersFactory.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api.controllers; + +import org.eclipse.eef.EEFTextDescription; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.eef.core.internal.controllers.EEFTextControllerImpl; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; + +/** + * This factory will be used to create the controllers. + * + * @author sbegaudeau + */ +public class EEFControllersFactory { + /** + * Creates a new text controller. + * + * @param description + * The description + * @param variableManager + * The variable manager + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + * @return A text controller + */ + public EEFTextController createTextController(EEFTextDescription description, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + return new EEFTextControllerImpl(description, variableManager, interpreter, editingDomain); + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/EEFTextController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/EEFTextController.java new file mode 100644 index 000000000..ff89909a0 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/EEFTextController.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api.controllers; + +/** + * The EEFTextController is responsible of supporting all the interactions with the widgets created for an + * EEFTextDescription. + * + * @author sbegaudeau + */ +public interface EEFTextController { + + /** + * Update the value of the text. + * + * @param text + * The new value of the text + */ + void updateValue(String text); + + /** + * Register a consumer which will be called with the new value of the text when it will change. + * + * @param consumer + * The consumer of the new value of the text + */ + void onNewValue(IConsumer<String> consumer); + + /** + * Register a consumer which will be called with the new value of the label when it will change. + * + * @param consumer + * The consumer of the new value of the label + */ + void onNewLabel(IConsumer<String> consumer); + + /** + * Remove the consumer of the new value of the text. + */ + void removeNewValueConsumer(); + + /** + * Remove the consumer of the new value of the label. + */ + void removeNewLabelConsumer(); + + /** + * Refresh the label and the text. + */ + void refresh(); + +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IConsumer.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IConsumer.java new file mode 100644 index 000000000..bda83b59b --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/api/controllers/IConsumer.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.api.controllers; + +/** + * The consumer is a functional type used to receive an Object of a specific type. + * + * @author sbegaudeau + * @param <T> + * The type of the Object that can be received + */ +public interface IConsumer<T> { + /** + * This operation is called in order to give to the consumer an Object. + * + * @param value + * The Object + */ + void apply(T value); +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFCompoundInterpreter.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFCompoundInterpreter.java new file mode 100644 index 000000000..d09fa69d9 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFCompoundInterpreter.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.internal; + +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; + +import java.util.List; +import java.util.Map; + +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.sirius.common.interpreter.api.IEvaluationResult; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; +import org.eclipse.sirius.common.interpreter.api.IInterpreterProvider; + +/** + * Utility class encapsulating all the available interpreters. + * + * @author sbegaudeau + */ +public class EEFCompoundInterpreter implements IInterpreter { + /** + * The interpreter providers. + */ + private List<IInterpreterProvider> interpreterProviders; + + /** + * The constructor. + * + * @param interpreterProviders + * The interpreter providers. + */ + public EEFCompoundInterpreter(List<IInterpreterProvider> interpreterProviders) { + this.interpreterProviders = interpreterProviders; + } + + /** + * Returns the interpreter to use to evaluate the given expression body. + * + * @param expressionBody + * The body of the expression + * @return The {@link IInterpreter} found or <code>null</code> if no interpreter has been found for the evaluation + */ + private IInterpreter getInterpreterForExpression(final String expressionBody) { + Predicate<IInterpreterProvider> canHandleExpressionPredicate = new Predicate<IInterpreterProvider>() { + @Override + public boolean apply(IInterpreterProvider interpreterProvider) { + return interpreterProvider.canHandle(expressionBody); + } + }; + Optional<IInterpreterProvider> interpreterProvider = Iterables.tryFind(this.interpreterProviders, canHandleExpressionPredicate); + if (interpreterProvider.isPresent()) { + IInterpreterProvider provider = interpreterProvider.get(); + return provider.createInterpreter(); + } + return null; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.interpreter.api.IInterpreter#evaluateExpression(java.util.Map, java.lang.String) + */ + @Override + public IEvaluationResult evaluateExpression(Map<String, Object> variables, String expressionBody) { + IInterpreter interpreter = this.getInterpreterForExpression(expressionBody); + if (interpreter != null) { + return interpreter.evaluateExpression(variables, expressionBody); + } + return new IEvaluationResult() { + @Override + public Object getValue() { + return null; + } + + @Override + public Diagnostic getDiagnostic() { + return Diagnostic.CANCEL_INSTANCE; + } + }; + } + +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFGroupImpl.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFGroupImpl.java new file mode 100644 index 000000000..775674413 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFGroupImpl.java @@ -0,0 +1,118 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.internal; + +import org.eclipse.eef.EEFGroupDescription; +import org.eclipse.eef.core.api.EEFGroup; +import org.eclipse.eef.core.api.EEFPage; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; + +/** + * The implementation of the {@link EEFGroup}. + * + * @author sbegaudeau + */ +public class EEFGroupImpl implements EEFGroup { + /** + * The variable manager. + */ + private IVariableManager variableManager; + + /** + * The interpreter. + */ + private IInterpreter interpreter; + + /** + * The description. + */ + private EEFGroupDescription eefGroupDescription; + + /** + * The containing {@link EEFPage}. + */ + private EEFPage eefPage; + + /** + * The editing domain. + */ + private TransactionalEditingDomain editingDomain; + + /** + * The constructor. + * + * @param eefPage + * The containing {@link EEFPage} + * @param eefGroupDescription + * The description + * @param variableManager + * The variable manager. + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + */ + public EEFGroupImpl(EEFPage eefPage, EEFGroupDescription eefGroupDescription, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + this.variableManager = variableManager; + this.interpreter = interpreter; + this.eefPage = eefPage; + this.eefGroupDescription = eefGroupDescription; + this.editingDomain = editingDomain; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFGroup#getDescription() + */ + @Override + public EEFGroupDescription getDescription() { + return this.eefGroupDescription; + } + + @Override + public EEFPage getPage() { + return this.eefPage; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFGroup#getVariableManager() + */ + @Override + public IVariableManager getVariableManager() { + return this.variableManager; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFGroup#getInterpreter() + */ + @Override + public IInterpreter getInterpreter() { + return this.interpreter; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFGroup#getEditingDomain() + */ + @Override + public TransactionalEditingDomain getEditingDomain() { + return this.editingDomain; + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFPageImpl.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFPageImpl.java new file mode 100644 index 000000000..efa8e0a8f --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFPageImpl.java @@ -0,0 +1,174 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.internal; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.eef.EEFGroupDescription; +import org.eclipse.eef.EEFPageDescription; +import org.eclipse.eef.core.api.EEFExpressionUtils; +import org.eclipse.eef.core.api.EEFGroup; +import org.eclipse.eef.core.api.EEFPage; +import org.eclipse.eef.core.api.EEFView; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IEvaluationResult; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; + +/** + * The implementation of the {@link EEFPage}. + * + * @author sbegaudeau + */ +public class EEFPageImpl implements EEFPage { + /** + * The variable manager. + */ + private IVariableManager variableManager; + + /** + * The interpreter. + */ + private IInterpreter interpreter; + + /** + * The containing {@link EEFView}. + */ + private EEFView eefView; + + /** + * The description. + */ + private EEFPageDescription eefPageDescription; + + /** + * The {@link EEFGroup}. + */ + private List<EEFGroup> eefGroups = new ArrayList<EEFGroup>(); + + /** + * The editing domain. + */ + private TransactionalEditingDomain editingDomain; + + /** + * The constructor. + * + * @param eefView + * The containing {@link EEFView} + * @param eefPageDescription + * The description + * @param variableManager + * The variable manager + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + */ + public EEFPageImpl(EEFView eefView, EEFPageDescription eefPageDescription, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + this.variableManager = variableManager; + this.interpreter = interpreter; + this.eefView = eefView; + this.eefPageDescription = eefPageDescription; + this.editingDomain = editingDomain; + } + + /** + * Initialize the variables of the EEFPage. + */ + public void initialize() { + List<EEFGroupDescription> eefGroupDescriptions = this.eefPageDescription.getGroups(); + for (EEFGroupDescription eefGroupDescription : eefGroupDescriptions) { + String semanticCandidatesExpression = eefGroupDescription.getSemanticCandidateExpression(); + if (semanticCandidatesExpression != null && semanticCandidatesExpression.trim().length() > 0) { + IEvaluationResult evaluationResult = this.interpreter.evaluateExpression(this.getVariableManager().getVariables(), + semanticCandidatesExpression); + if (evaluationResult.getValue() instanceof Iterable<?>) { + @SuppressWarnings("unchecked") + Iterable<Object> groupSemanticCandidates = (Iterable<Object>) evaluationResult.getValue(); + for (Object groupSemanticCandidate : groupSemanticCandidates) { + IVariableManager childVariableManager = this.getVariableManager().createChild(); + childVariableManager.put(EEFExpressionUtils.SELF, groupSemanticCandidate); + EEFGroupImpl eefGroupImpl = new EEFGroupImpl(this, eefGroupDescription, childVariableManager, this.interpreter, + this.editingDomain); + eefGroups.add(eefGroupImpl); + } + } else { + Object groupSemanticCandidate = evaluationResult.getValue(); + IVariableManager childVariableManager = this.getVariableManager().createChild(); + childVariableManager.put(EEFExpressionUtils.SELF, groupSemanticCandidate); + EEFGroupImpl eefGroupImpl = new EEFGroupImpl(this, eefGroupDescription, childVariableManager, this.interpreter, + this.editingDomain); + eefGroups.add(eefGroupImpl); + } + } else { + IVariableManager childVariableManager = this.getVariableManager().createChild(); + EEFGroupImpl eefGroupImpl = new EEFGroupImpl(this, eefGroupDescription, childVariableManager, this.interpreter, this.editingDomain); + eefGroups.add(eefGroupImpl); + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFPage#getLabel() + */ + @Override + public String getLabel() { + String labelExpression = this.eefPageDescription.getLabelExpression(); + if (labelExpression != null) { + IEvaluationResult evaluationResult = this.interpreter.evaluateExpression(this.getVariableManager().getVariables(), labelExpression); + if (evaluationResult.getValue() != null) { + return evaluationResult.getValue().toString(); + } + } + return labelExpression; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFPage#getGroups() + */ + @Override + public List<EEFGroup> getGroups() { + return this.eefGroups; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFPage#getDescription() + */ + @Override + public EEFPageDescription getDescription() { + return this.eefPageDescription; + } + + @Override + public EEFView getView() { + return this.eefView; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFPage#getVariableManager() + */ + @Override + public IVariableManager getVariableManager() { + return this.variableManager; + } + +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFVariableManager.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFVariableManager.java new file mode 100644 index 000000000..c9e1f1479 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFVariableManager.java @@ -0,0 +1,112 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.internal; + +import com.google.common.collect.Maps; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.eef.core.api.IVariableManager; + +/** + * The implementation of the {@link IVariableManager}. + * + * @author sbegaudeau + */ +public class EEFVariableManager implements IVariableManager { + + /** + * The parent {@link IVariableManager}. + */ + private IVariableManager parent; + + /** + * The variables. + */ + private Map<String, Object> variables = new HashMap<String, Object>(); + + /** + * The child variable manager. + */ + private List<IVariableManager> children = new ArrayList<IVariableManager>(); + + /** + * The constructor. + */ + public EEFVariableManager() { + // do nothing + } + + /** + * The constructor. + * + * @param parent + * The parent of this {@link IVariableManager}. + */ + public EEFVariableManager(IVariableManager parent) { + this.parent = parent; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.IVariableManager#put(java.lang.String, java.lang.Object) + */ + @Override + public Object put(String name, Object value) { + Object previous = this.variables.put(name, value); + return previous; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.IVariableManager#getVariables() + */ + @Override + public Map<String, Object> getVariables() { + if (this.parent != null) { + Map<String, Object> parentVariables = this.parent.getVariables(); + parentVariables.putAll(this.variables); + return parentVariables; + } + return Maps.newHashMap(this.variables); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.IVariableManager#createChild() + */ + @Override + public IVariableManager createChild() { + IVariableManager variableManager = new EEFVariableManager(this); + this.children.add(variableManager); + return variableManager; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.IVariableManager#clear() + */ + @Override + public void clear() { + this.variables.clear(); + + for (IVariableManager variableManager : children) { + variableManager.clear(); + } + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFViewImpl.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFViewImpl.java new file mode 100644 index 000000000..ec91947fb --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/EEFViewImpl.java @@ -0,0 +1,194 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.internal; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.eef.EEFPageDescription; +import org.eclipse.eef.EEFViewDescription; +import org.eclipse.eef.core.api.EEFExpressionUtils; +import org.eclipse.eef.core.api.EEFGroup; +import org.eclipse.eef.core.api.EEFPage; +import org.eclipse.eef.core.api.EEFView; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IEvaluationResult; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; + +/** + * The implementation of the {@link EEFView}. + * + * @author sbegaudeau + */ +public class EEFViewImpl implements EEFView { + /** + * The variable manager. + */ + private IVariableManager variableManager; + + /** + * The interpreter. + */ + private IInterpreter interpreter; + + /** + * The description. + */ + private EEFViewDescription eefViewDescription; + + /** + * The editing domain. + */ + private TransactionalEditingDomain editingDomain; + + /** + * The {@link EEFPage} of the view. + */ + private List<EEFPage> eefPages = new ArrayList<EEFPage>(); + + /** + * The constructor. + * + * @param eefViewDescription + * The description + * @param variableManager + * The variable manager + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + */ + public EEFViewImpl(EEFViewDescription eefViewDescription, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + this.variableManager = variableManager; + this.interpreter = interpreter; + this.eefViewDescription = eefViewDescription; + this.editingDomain = editingDomain; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFView#initialize() + */ + @Override + public void initialize() { + Command command = new RecordingCommand(this.editingDomain) { + @Override + protected void doExecute() { + EEFViewImpl.this.doInitialize(); + } + }; + + CommandStack commandStack = this.editingDomain.getCommandStack(); + commandStack.execute(command); + } + + /** + * Performs the initialization of the view by creating the necessary pages. + */ + private void doInitialize() { + List<EEFPageDescription> eefPageDescriptions = EEFViewImpl.this.getDescription().getPages(); + for (EEFPageDescription eefPageDescription : eefPageDescriptions) { + EEFPageImpl ePage = null; + final String semanticCandidateExpression = eefPageDescription.getSemanticCandidateExpression(); + if (semanticCandidateExpression != null && semanticCandidateExpression.trim().length() > 0) { + IEvaluationResult evaluationResult = EEFViewImpl.this.interpreter.evaluateExpression(EEFViewImpl.this.variableManager.getVariables(), + semanticCandidateExpression); + if (Diagnostic.OK == evaluationResult.getDiagnostic().getSeverity() && evaluationResult.getValue() != null) { + IVariableManager childVariableManager = EEFViewImpl.this.variableManager.createChild(); + childVariableManager.put(EEFExpressionUtils.SELF, evaluationResult.getValue()); + ePage = new EEFPageImpl(EEFViewImpl.this, eefPageDescription, childVariableManager, EEFViewImpl.this.interpreter, + EEFViewImpl.this.editingDomain); + } + } else { + ePage = new EEFPageImpl(EEFViewImpl.this, eefPageDescription, EEFViewImpl.this.variableManager.createChild(), + EEFViewImpl.this.interpreter, EEFViewImpl.this.editingDomain); + } + + if (ePage != null) { + ePage.initialize(); + eefPages.add(ePage); + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFView#setInput(org.eclipse.emf.ecore.EObject) + */ + @Override + public void setInput(EObject eObject) { + Object selfValue = this.variableManager.getVariables().get(EEFExpressionUtils.SELF); + if (eObject != selfValue) { + // Invalidate and update the content of the variable manager with the new input + this.variableManager.clear(); + + this.variableManager.put(EEFExpressionUtils.SELF, eObject); + + for (EEFPage eefPage : eefPages) { + String pageSemanticCandidateExpression = eefPage.getDescription().getSemanticCandidateExpression(); + if (pageSemanticCandidateExpression != null && pageSemanticCandidateExpression.trim().length() > 0) { + + IEvaluationResult evaluationResult = EEFViewImpl.this.interpreter.evaluateExpression( + EEFViewImpl.this.variableManager.getVariables(), pageSemanticCandidateExpression); + if (Diagnostic.OK == evaluationResult.getDiagnostic().getSeverity() && evaluationResult.getValue() != null) { + eefPage.getVariableManager().put(EEFExpressionUtils.SELF, evaluationResult.getValue()); + } else { + // Something is very wrong here... + } + } + + List<EEFGroup> groups = eefPage.getGroups(); + for (EEFGroup eefGroup : groups) { + String groupSemanticCandidateExpression = eefGroup.getDescription().getSemanticCandidateExpression(); + if (groupSemanticCandidateExpression != null && groupSemanticCandidateExpression.trim().length() > 0) { + + IEvaluationResult evaluationResult = EEFViewImpl.this.interpreter.evaluateExpression(eefPage.getVariableManager() + .getVariables(), groupSemanticCandidateExpression); + if (Diagnostic.OK == evaluationResult.getDiagnostic().getSeverity() && evaluationResult.getValue() != null) { + eefGroup.getVariableManager().put(EEFExpressionUtils.SELF, evaluationResult.getValue()); + } else { + // Something is very wrong here... + } + } + } + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFView#getPages() + */ + @Override + public List<EEFPage> getPages() { + return this.eefPages; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.EEFView#getDescription() + */ + @Override + public EEFViewDescription getDescription() { + return this.eefViewDescription; + } +} diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFTextControllerImpl.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFTextControllerImpl.java new file mode 100644 index 000000000..98fcc0ca3 --- /dev/null +++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFTextControllerImpl.java @@ -0,0 +1,200 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.core.internal.controllers; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +import org.eclipse.eef.EEFTextDescription; +import org.eclipse.eef.core.api.EEFExpressionUtils; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.eef.core.api.controllers.EEFTextController; +import org.eclipse.eef.core.api.controllers.IConsumer; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IEvaluationResult; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; + +/** + * This class will be used in order to manage the behavior of the text. + * + * @author sbegaudeau + */ +public class EEFTextControllerImpl implements EEFTextController { + /** + * The description. + */ + private EEFTextDescription description; + + /** + * The variable manager. + */ + private IVariableManager variableManager; + + /** + * The interpreter. + */ + private IInterpreter interpreter; + + /** + * The editing domain. + */ + private TransactionalEditingDomain editingDomain; + + /** + * The consumer of a new value of the text. + */ + private IConsumer<String> newValueConsumer; + + /** + * The consumer of a new value of the label. + */ + private IConsumer<String> newLabelConsumer; + + /** + * Executor service used to run the update of the text field. + */ + private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); + + /** + * This future contains the update to be performed. + */ + private ScheduledFuture<?> currentUpdatedValueFuture; + + /** + * The constructor. + * + * @param description + * The description + * @param variableManager + * The variable manager + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + */ + public EEFTextControllerImpl(EEFTextDescription description, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + this.description = description; + this.variableManager = variableManager; + this.interpreter = interpreter; + this.editingDomain = editingDomain; + } + + @Override + public void updateValue(final String text) { + if (this.currentUpdatedValueFuture != null && !this.currentUpdatedValueFuture.isDone()) { + this.currentUpdatedValueFuture.cancel(true); + } + + final Command command = new RecordingCommand(this.editingDomain) { + @Override + protected void doExecute() { + String editExpression = EEFTextControllerImpl.this.description.getEditExpression(); + if (editExpression != null) { + Map<String, Object> variables = new HashMap<String, Object>(); + variables.putAll(EEFTextControllerImpl.this.variableManager.getVariables()); + variables.put(EEFExpressionUtils.EEFText.NEW_VALUE, text); + //variables.put("selection", selection); //$NON-NLS-1$ + EEFTextControllerImpl.this.interpreter.evaluateExpression(variables, editExpression); + } + } + + @Override + public boolean canExecute() { + return true; + } + }; + + Runnable runnable = new Runnable() { + @Override + public void run() { + CommandStack commandStack = EEFTextControllerImpl.this.editingDomain.getCommandStack(); + commandStack.execute(command); + } + }; + final long scheduleTime = 500L; + this.currentUpdatedValueFuture = this.executor.schedule(runnable, scheduleTime, TimeUnit.MILLISECONDS); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.controllers.EEFTextController#refresh() + */ + @Override + public void refresh() { + String valueExpression = this.description.getValueExpression(); + if (valueExpression != null) { + IEvaluationResult evaluationResult = this.interpreter.evaluateExpression(this.variableManager.getVariables(), valueExpression); + Object value = evaluationResult.getValue(); + if (value instanceof String && this.newValueConsumer != null) { + this.newValueConsumer.apply((String) value); + } + } + + String labelExpression = this.description.getLabelExpression(); + if (labelExpression != null) { + IEvaluationResult evaluationResult = this.interpreter.evaluateExpression(this.variableManager.getVariables(), labelExpression); + Object value = evaluationResult.getValue(); + if (value instanceof String && this.newLabelConsumer != null) { + this.newLabelConsumer.apply((String) value); + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.controllers.EEFTextController#onNewValue(org.eclipse.eef.core.api.controllers.IConsumer) + */ + @Override + public void onNewValue(IConsumer<String> consumer) { + this.newValueConsumer = consumer; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.controllers.EEFTextController#onNewLabel(org.eclipse.eef.core.api.controllers.IConsumer) + */ + @Override + public void onNewLabel(IConsumer<String> consumer) { + this.newLabelConsumer = consumer; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.controllers.EEFTextController#removeNewValueConsumer() + */ + @Override + public void removeNewValueConsumer() { + this.newValueConsumer = null; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.core.api.controllers.EEFTextController#removeNewLabelConsumer() + */ + @Override + public void removeNewLabelConsumer() { + this.newLabelConsumer = null; + } + +} diff --git a/plugins/org.eclipse.eef.edit/.checkstyle b/plugins/org.eclipse.eef.edit/.checkstyle new file mode 100644 index 000000000..f1a81eec7 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.checkstyle @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> + <local-check-config name="EEF" location="/org.eclipse.eef.releng/codestyle/EEFCheckstyleConfiguration.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </local-check-config> + <fileset name="all" enabled="true" check-config-name="EEF" local="true"> + <file-match-pattern match-pattern="." include-pattern="true"/> + </fileset> + <filter name="FilesFromPackage" enabled="true"> + <filter-data value="src-gen"/> + </filter> +</fileset-config> diff --git a/plugins/org.eclipse.eef.edit/.classpath b/plugins/org.eclipse.eef.edit/.classpath new file mode 100644 index 000000000..6292ea58a --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.classpath @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"> + <attributes> + <attribute name="ignore_optional_problems" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.eef.edit/.project b/plugins/org.eclipse.eef.edit/.project new file mode 100644 index 000000000..b13e4d93b --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.edit</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>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fb8257839 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,398 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.cleanOutputFolder=clean +org.eclipse.jdt.core.builder.duplicateResourceTask=warning +org.eclipse.jdt.core.builder.invalidClasspath=abort +org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter= +org.eclipse.jdt.core.circularClasspath=error +org.eclipse.jdt.core.classpath.exclusionPatterns=enabled +org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled +org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=error +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=error +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=150 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=true +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.incompatibleJDKLevel=ignore +org.eclipse.jdt.core.incompleteClasspath=error +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.launching.prefs new file mode 100644 index 000000000..3bb235278 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.launching.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore diff --git a/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..e6ceed5c2 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_settings_version=12 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=com;java;javax;org; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * Return the ${bare_field_name}.\n *\n * @return the ${bare_field_name}\n */</template><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * Sets the ${bare_field_name}.\n *\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) 2015 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * Obeo - initial API and implementation\n *******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * {@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">EEFIdePlugin.getImplementation().logError(message, e);</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="false" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return this.${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=false +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=false +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=false +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=false +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=false +sp_cleanup.remove_redundant_type_arguments=false +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=false +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=false +sp_cleanup.remove_unused_private_types=false +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.eef.edit/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.pde.prefs new file mode 100644 index 000000000..3112e810d --- /dev/null +++ b/plugins/org.eclipse.eef.edit/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=1 +compilers.p.build.java.compiler=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=0 +compilers.p.missing-version-import-package=0 +compilers.p.missing-version-require-bundle=0 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=0 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.eef.edit/META-INF/MANIFEST.MF b/plugins/org.eclipse.eef.edit/META-INF/MANIFEST.MF new file mode 100644 index 000000000..3c2ff7aa7 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.eef.edit;singleton:=true +Bundle-Version: 2.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: org.eclipse.eef.provider.EefEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Export-Package: org.eclipse.eef.provider;version="2.0.0" +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)", + org.eclipse.eef;bundle-version="[2.0.0,3.0.0)";visibility:=reexport, + org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport, + org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport, + org.eclipse.emf.ecore.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.eef.edit/about.html b/plugins/org.eclipse.eef.edit/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/plugins/org.eclipse.eef.edit/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.edit/build.properties b/plugins/org.eclipse.eef.edit/build.properties new file mode 100644 index 000000000..bd07f4585 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/build.properties @@ -0,0 +1,17 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties,\ + about.html +jars.compile.order = . +source.. = src-gen/ +output.. = bin/ +javacProjectSettings = true diff --git a/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFContainerDescription.gif b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFContainerDescription.gif Binary files differnew file mode 100644 index 000000000..5a9bc7514 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFContainerDescription.gif diff --git a/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFGroupDescription.gif b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFGroupDescription.gif Binary files differnew file mode 100644 index 000000000..9250fecbf --- /dev/null +++ b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFGroupDescription.gif diff --git a/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFPageDescription.gif b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFPageDescription.gif Binary files differnew file mode 100644 index 000000000..afb82ea48 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFPageDescription.gif diff --git a/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFTextDescription.gif b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFTextDescription.gif Binary files differnew file mode 100644 index 000000000..7b7c428c7 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFTextDescription.gif diff --git a/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFViewDescription.gif b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFViewDescription.gif Binary files differnew file mode 100644 index 000000000..35ef84e20 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFViewDescription.gif diff --git a/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFWidgetDescription.gif b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFWidgetDescription.gif Binary files differnew file mode 100644 index 000000000..c8d381f0b --- /dev/null +++ b/plugins/org.eclipse.eef.edit/icons/full/obj16/EEFWidgetDescription.gif diff --git a/plugins/org.eclipse.eef.edit/plugin.properties b/plugins/org.eclipse.eef.edit/plugin.properties new file mode 100644 index 000000000..e6b86476a --- /dev/null +++ b/plugins/org.eclipse.eef.edit/plugin.properties @@ -0,0 +1,44 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +pluginName = EEF Edit Support +providerName = Eclipse Modeling Project +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. +_UI_PropertyDescriptor_description = The {0} of the {1} +_UI_EEFViewDescription_type = EEF View Description +_UI_EEFPageDescription_type = EEF Page Description +_UI_EEFGroupDescription_type = EEF Group Description +_UI_EEFContainerDescription_type = EEF Container Description +_UI_EEFWidgetDescription_type = EEF Widget Description +_UI_EEFTextDescription_type = EEF Text Description +_UI_Unknown_type = Object +_UI_Unknown_datatype= Value +_UI_EEFViewDescription_identifier_feature = Identifier +_UI_EEFViewDescription_labelExpression_feature = Label Expression +_UI_EEFViewDescription_groups_feature = Groups +_UI_EEFViewDescription_pages_feature = Pages +_UI_EEFViewDescription_ePackages_feature = EPackages +_UI_EEFPageDescription_identifier_feature = Identifier +_UI_EEFPageDescription_labelExpression_feature = Label Expression +_UI_EEFPageDescription_semanticCandidateExpression_feature = Semantic Candidate Expression +_UI_EEFPageDescription_groups_feature = Groups +_UI_EEFGroupDescription_identifier_feature = Identifier +_UI_EEFGroupDescription_labelExpression_feature = Label Expression +_UI_EEFGroupDescription_semanticCandidateExpression_feature = Semantic Candidate Expression +_UI_EEFGroupDescription_container_feature = Container +_UI_EEFContainerDescription_identifier_feature = Identifier +_UI_EEFContainerDescription_widgets_feature = Widgets +_UI_EEFWidgetDescription_identifier_feature = Identifier +_UI_EEFWidgetDescription_labelExpression_feature = Label Expression +_UI_EEFTextDescription_valueExpression_feature = Value Expression +_UI_EEFTextDescription_editExpression_feature = Edit Expression +_UI_Unknown_feature = Unspecified diff --git a/plugins/org.eclipse.eef.edit/plugin.xml b/plugins/org.eclipse.eef.edit/plugin.xml new file mode 100644 index 000000000..13c4e98b3 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/plugin.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- + Copyright (c) 2015 Obeo. + 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.htm + Contributors: Obeo - initial API and implementation +--> + +<plugin> + + <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories"> + <!-- @generated eef --> + <factory + uri="http://www.eclipse.org/eef" + class="org.eclipse.eef.provider.EefItemProviderAdapterFactory" + supportedTypes= + "org.eclipse.emf.edit.provider.IEditingDomainItemProvider + org.eclipse.emf.edit.provider.IStructuredItemContentProvider + org.eclipse.emf.edit.provider.ITreeItemContentProvider + org.eclipse.emf.edit.provider.IItemLabelProvider + org.eclipse.emf.edit.provider.IItemPropertySource"/> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.eef.edit/pom.xml b/plugins/org.eclipse.eef.edit/pom.xml new file mode 100644 index 000000000..4c8dc8bd7 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2015 Obeo. +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: + Obeo - initial API and implementation +--> +<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> + + <parent> + <groupId>org.eclipse.eef</groupId> + <artifactId>org.eclipse.eef.parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.eef.releng</relativePath> + </parent> + + <artifactId>org.eclipse.eef.edit</artifactId> + <packaging>eclipse-plugin</packaging> + + <name>EEF Edit</name> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-source-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFContainerDescriptionItemProvider.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFContainerDescriptionItemProvider.java new file mode 100644 index 000000000..0378c97eb --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFContainerDescriptionItemProvider.java @@ -0,0 +1,185 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.eef.EEFContainerDescription; +import org.eclipse.eef.EefFactory; +import org.eclipse.eef.EefPackage; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link org.eclipse.eef.EEFContainerDescription} object. <!-- begin-user-doc + * --> <!-- end-user-doc --> + * + * @generated + */ +public class EEFContainerDescriptionItemProvider extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EEFContainerDescriptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIdentifierPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Identifier feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addIdentifierPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFContainerDescription_identifier_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFContainerDescription_identifier_feature", "_UI_EEFContainerDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_CONTAINER_DESCRIPTION__IDENTIFIER, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(EefPackage.Literals.EEF_CONTAINER_DESCRIPTION__WIDGETS); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns EEFContainerDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EEFContainerDescription")); //$NON-NLS-1$ + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EEFContainerDescription) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_EEFContainerDescription_type") //$NON-NLS-1$ + : getString("_UI_EEFContainerDescription_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating + * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EEFContainerDescription.class)) { + case EefPackage.EEF_CONTAINER_DESCRIPTION__IDENTIFIER: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case EefPackage.EEF_CONTAINER_DESCRIPTION__WIDGETS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created + * under this object. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(EefPackage.Literals.EEF_CONTAINER_DESCRIPTION__WIDGETS, EefFactory.eINSTANCE.createEEFTextDescription())); + } + + /** + * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return EefEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFGroupDescriptionItemProvider.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFGroupDescriptionItemProvider.java new file mode 100644 index 000000000..f261ac405 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFGroupDescriptionItemProvider.java @@ -0,0 +1,216 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.eef.EEFGroupDescription; +import org.eclipse.eef.EefFactory; +import org.eclipse.eef.EefPackage; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link org.eclipse.eef.EEFGroupDescription} object. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ +public class EEFGroupDescriptionItemProvider extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EEFGroupDescriptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIdentifierPropertyDescriptor(object); + addLabelExpressionPropertyDescriptor(object); + addSemanticCandidateExpressionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Identifier feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addIdentifierPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFGroupDescription_identifier_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFGroupDescription_identifier_feature", "_UI_EEFGroupDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_GROUP_DESCRIPTION__IDENTIFIER, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Label Expression feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addLabelExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFGroupDescription_labelExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFGroupDescription_labelExpression_feature", "_UI_EEFGroupDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_GROUP_DESCRIPTION__LABEL_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This adds a property descriptor for the Semantic Candidate Expression feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + protected void addSemanticCandidateExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFGroupDescription_semanticCandidateExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFGroupDescription_semanticCandidateExpression_feature", //$NON-NLS-1$//$NON-NLS-2$ + "_UI_EEFGroupDescription_type"), //$NON-NLS-1$ + EefPackage.Literals.EEF_GROUP_DESCRIPTION__SEMANTIC_CANDIDATE_EXPRESSION, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(EefPackage.Literals.EEF_GROUP_DESCRIPTION__CONTAINER); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns EEFGroupDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EEFGroupDescription")); //$NON-NLS-1$ + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EEFGroupDescription) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_EEFGroupDescription_type") //$NON-NLS-1$ + : getString("_UI_EEFGroupDescription_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating + * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EEFGroupDescription.class)) { + case EefPackage.EEF_GROUP_DESCRIPTION__IDENTIFIER: + case EefPackage.EEF_GROUP_DESCRIPTION__LABEL_EXPRESSION: + case EefPackage.EEF_GROUP_DESCRIPTION__SEMANTIC_CANDIDATE_EXPRESSION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case EefPackage.EEF_GROUP_DESCRIPTION__CONTAINER: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created + * under this object. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add( + createChildParameter(EefPackage.Literals.EEF_GROUP_DESCRIPTION__CONTAINER, EefFactory.eINSTANCE.createEEFContainerDescription())); + } + + /** + * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return EefEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFPageDescriptionItemProvider.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFPageDescriptionItemProvider.java new file mode 100644 index 000000000..67554ba58 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFPageDescriptionItemProvider.java @@ -0,0 +1,191 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.eef.EEFPageDescription; +import org.eclipse.eef.EefPackage; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link org.eclipse.eef.EEFPageDescription} object. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ +public class EEFPageDescriptionItemProvider extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EEFPageDescriptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIdentifierPropertyDescriptor(object); + addLabelExpressionPropertyDescriptor(object); + addSemanticCandidateExpressionPropertyDescriptor(object); + addGroupsPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Identifier feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addIdentifierPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFPageDescription_identifier_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFPageDescription_identifier_feature", "_UI_EEFPageDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_PAGE_DESCRIPTION__IDENTIFIER, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Label Expression feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addLabelExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFPageDescription_labelExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFPageDescription_labelExpression_feature", "_UI_EEFPageDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_PAGE_DESCRIPTION__LABEL_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This adds a property descriptor for the Semantic Candidate Expression feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + protected void addSemanticCandidateExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFPageDescription_semanticCandidateExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFPageDescription_semanticCandidateExpression_feature", //$NON-NLS-1$//$NON-NLS-2$ + "_UI_EEFPageDescription_type"), //$NON-NLS-1$ + EefPackage.Literals.EEF_PAGE_DESCRIPTION__SEMANTIC_CANDIDATE_EXPRESSION, true, false, false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Groups feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addGroupsPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFPageDescription_groups_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFPageDescription_groups_feature", "_UI_EEFPageDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_PAGE_DESCRIPTION__GROUPS, true, false, true, null, null, null)); + } + + /** + * This returns EEFPageDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EEFPageDescription")); //$NON-NLS-1$ + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EEFPageDescription) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_EEFPageDescription_type") //$NON-NLS-1$ + : getString("_UI_EEFPageDescription_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating + * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EEFPageDescription.class)) { + case EefPackage.EEF_PAGE_DESCRIPTION__IDENTIFIER: + case EefPackage.EEF_PAGE_DESCRIPTION__LABEL_EXPRESSION: + case EefPackage.EEF_PAGE_DESCRIPTION__SEMANTIC_CANDIDATE_EXPRESSION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created + * under this object. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return EefEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFTextDescriptionItemProvider.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFTextDescriptionItemProvider.java new file mode 100644 index 000000000..3676f6394 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFTextDescriptionItemProvider.java @@ -0,0 +1,144 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.eef.EEFTextDescription; +import org.eclipse.eef.EefPackage; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link org.eclipse.eef.EEFTextDescription} object. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ +public class EEFTextDescriptionItemProvider extends EEFWidgetDescriptionItemProvider { + /** + * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EEFTextDescriptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValueExpressionPropertyDescriptor(object); + addEditExpressionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value Expression feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addValueExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFTextDescription_valueExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFTextDescription_valueExpression_feature", "_UI_EEFTextDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_TEXT_DESCRIPTION__VALUE_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This adds a property descriptor for the Edit Expression feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addEditExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFTextDescription_editExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFTextDescription_editExpression_feature", "_UI_EEFTextDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_TEXT_DESCRIPTION__EDIT_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This returns EEFTextDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EEFTextDescription")); //$NON-NLS-1$ + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EEFTextDescription) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_EEFTextDescription_type") //$NON-NLS-1$ + : getString("_UI_EEFTextDescription_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating + * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EEFTextDescription.class)) { + case EefPackage.EEF_TEXT_DESCRIPTION__VALUE_EXPRESSION: + case EefPackage.EEF_TEXT_DESCRIPTION__EDIT_EXPRESSION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created + * under this object. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFViewDescriptionItemProvider.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFViewDescriptionItemProvider.java new file mode 100644 index 000000000..6ec31361d --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFViewDescriptionItemProvider.java @@ -0,0 +1,217 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.eef.EEFViewDescription; +import org.eclipse.eef.EefFactory; +import org.eclipse.eef.EefPackage; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link org.eclipse.eef.EEFViewDescription} object. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ +public class EEFViewDescriptionItemProvider extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EEFViewDescriptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIdentifierPropertyDescriptor(object); + addLabelExpressionPropertyDescriptor(object); + addEPackagesPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Identifier feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addIdentifierPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFViewDescription_identifier_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFViewDescription_identifier_feature", "_UI_EEFViewDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_VIEW_DESCRIPTION__IDENTIFIER, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Label Expression feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addLabelExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFViewDescription_labelExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFViewDescription_labelExpression_feature", "_UI_EEFViewDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_VIEW_DESCRIPTION__LABEL_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This adds a property descriptor for the EPackages feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addEPackagesPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFViewDescription_ePackages_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFViewDescription_ePackages_feature", "_UI_EEFViewDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_VIEW_DESCRIPTION__EPACKAGES, true, false, true, null, null, null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(EefPackage.Literals.EEF_VIEW_DESCRIPTION__GROUPS); + childrenFeatures.add(EefPackage.Literals.EEF_VIEW_DESCRIPTION__PAGES); + } + return childrenFeatures; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns EEFViewDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EEFViewDescription")); //$NON-NLS-1$ + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EEFViewDescription) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_EEFViewDescription_type") //$NON-NLS-1$ + : getString("_UI_EEFViewDescription_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating + * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EEFViewDescription.class)) { + case EefPackage.EEF_VIEW_DESCRIPTION__IDENTIFIER: + case EefPackage.EEF_VIEW_DESCRIPTION__LABEL_EXPRESSION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case EefPackage.EEF_VIEW_DESCRIPTION__GROUPS: + case EefPackage.EEF_VIEW_DESCRIPTION__PAGES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created + * under this object. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors + .add(createChildParameter(EefPackage.Literals.EEF_VIEW_DESCRIPTION__GROUPS, EefFactory.eINSTANCE.createEEFGroupDescription())); + + newChildDescriptors + .add(createChildParameter(EefPackage.Literals.EEF_VIEW_DESCRIPTION__PAGES, EefFactory.eINSTANCE.createEEFPageDescription())); + } + + /** + * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return EefEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFWidgetDescriptionItemProvider.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFWidgetDescriptionItemProvider.java new file mode 100644 index 000000000..89221fea0 --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EEFWidgetDescriptionItemProvider.java @@ -0,0 +1,161 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.eef.EEFWidgetDescription; +import org.eclipse.eef.EefPackage; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link org.eclipse.eef.EEFWidgetDescription} object. <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated + */ +public class EEFWidgetDescriptionItemProvider extends ItemProviderAdapter + implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EEFWidgetDescriptionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addIdentifierPropertyDescriptor(object); + addLabelExpressionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Identifier feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addIdentifierPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFWidgetDescription_identifier_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFWidgetDescription_identifier_feature", "_UI_EEFWidgetDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_WIDGET_DESCRIPTION__IDENTIFIER, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + } + + /** + * This adds a property descriptor for the Label Expression feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addLabelExpressionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), getString("_UI_EEFWidgetDescription_labelExpression_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_EEFWidgetDescription_labelExpression_feature", "_UI_EEFWidgetDescription_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + EefPackage.Literals.EEF_WIDGET_DESCRIPTION__LABEL_EXPRESSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, + null)); + } + + /** + * This returns EEFWidgetDescription.gif. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EEFWidgetDescription")); //$NON-NLS-1$ + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected boolean shouldComposeCreationImage() { + return true; + } + + /** + * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EEFWidgetDescription) object).getIdentifier(); + return label == null || label.length() == 0 ? getString("_UI_EEFWidgetDescription_type") //$NON-NLS-1$ + : getString("_UI_EEFWidgetDescription_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$ + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating + * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc + * --> + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EEFWidgetDescription.class)) { + case EefPackage.EEF_WIDGET_DESCRIPTION__IDENTIFIER: + case EefPackage.EEF_WIDGET_DESCRIPTION__LABEL_EXPRESSION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created + * under this object. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return EefEditPlugin.INSTANCE; + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EefEditPlugin.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EefEditPlugin.java new file mode 100644 index 000000000..6188ae0cd --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EefEditPlugin.java @@ -0,0 +1,85 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import org.eclipse.emf.common.EMFPlugin; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.provider.EcoreEditPlugin; + +/** + * This is the central singleton for the Eef edit plugin. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ +public final class EefEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public static final EefEditPlugin INSTANCE = new EefEditPlugin(); + + /** + * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EefEditPlugin() { + super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return EefEditPlugin.plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return EefEditPlugin.plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + EefEditPlugin.plugin = this; + } + } + +} diff --git a/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EefItemProviderAdapterFactory.java b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EefItemProviderAdapterFactory.java new file mode 100644 index 000000000..2a9fa696c --- /dev/null +++ b/plugins/org.eclipse.eef.edit/src-gen/org/eclipse/eef/provider/EefItemProviderAdapterFactory.java @@ -0,0 +1,308 @@ +/** + * Copyright (c) 2015 Obeo. + * 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.htm + * Contributors: Obeo - initial API and implementation + */ +package org.eclipse.eef.provider; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.eef.util.EefAdapterFactory; +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.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. The adapters generated by this + * factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The adapters + * also support Eclipse property sheets. Note that most of the adapters are shared among multiple instances. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ +public class EefItemProviderAdapterFactory extends EefAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected Collection<Object> supportedTypes = new ArrayList<Object>(); + + /** + * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public EefItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.eef.EEFViewDescription} instances. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected EEFViewDescriptionItemProvider eefViewDescriptionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.eef.EEFViewDescription}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Adapter createEEFViewDescriptionAdapter() { + if (eefViewDescriptionItemProvider == null) { + eefViewDescriptionItemProvider = new EEFViewDescriptionItemProvider(this); + } + + return eefViewDescriptionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.eef.EEFPageDescription} instances. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected EEFPageDescriptionItemProvider eefPageDescriptionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.eef.EEFPageDescription}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Adapter createEEFPageDescriptionAdapter() { + if (eefPageDescriptionItemProvider == null) { + eefPageDescriptionItemProvider = new EEFPageDescriptionItemProvider(this); + } + + return eefPageDescriptionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.eef.EEFGroupDescription} instances. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected EEFGroupDescriptionItemProvider eefGroupDescriptionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.eef.EEFGroupDescription}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Adapter createEEFGroupDescriptionAdapter() { + if (eefGroupDescriptionItemProvider == null) { + eefGroupDescriptionItemProvider = new EEFGroupDescriptionItemProvider(this); + } + + return eefGroupDescriptionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.eef.EEFContainerDescription} instances. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected EEFContainerDescriptionItemProvider eefContainerDescriptionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.eef.EEFContainerDescription}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Adapter createEEFContainerDescriptionAdapter() { + if (eefContainerDescriptionItemProvider == null) { + eefContainerDescriptionItemProvider = new EEFContainerDescriptionItemProvider(this); + } + + return eefContainerDescriptionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link org.eclipse.eef.EEFTextDescription} instances. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected EEFTextDescriptionItemProvider eefTextDescriptionItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.eef.EEFTextDescription}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Adapter createEEFTextDescriptionAdapter() { + if (eefTextDescriptionItemProvider == null) { + eefTextDescriptionItemProvider = new EEFTextDescriptionItemProvider(this); + } + + return eefTextDescriptionItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class<?>) || (((Class<?>) type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + @Override + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + @Override + public void dispose() { + if (eefViewDescriptionItemProvider != null) { + eefViewDescriptionItemProvider.dispose(); + } + if (eefPageDescriptionItemProvider != null) { + eefPageDescriptionItemProvider.dispose(); + } + if (eefGroupDescriptionItemProvider != null) { + eefGroupDescriptionItemProvider.dispose(); + } + if (eefContainerDescriptionItemProvider != null) { + eefContainerDescriptionItemProvider.dispose(); + } + if (eefTextDescriptionItemProvider != null) { + eefTextDescriptionItemProvider.dispose(); + } + } + +} diff --git a/plugins/org.eclipse.eef.ide.ui/.checkstyle b/plugins/org.eclipse.eef.ide.ui/.checkstyle new file mode 100644 index 000000000..121faf77d --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.checkstyle @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> + <local-check-config name="EEF" location="/org.eclipse.eef.releng/codestyle/EEFCheckstyleConfiguration.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </local-check-config> + <fileset name="all" enabled="true" check-config-name="EEF" local="true"> + <file-match-pattern match-pattern="." include-pattern="true"/> + </fileset> +</fileset-config> diff --git a/plugins/org.eclipse.eef.ide.ui/.classpath b/plugins/org.eclipse.eef.ide.ui/.classpath new file mode 100644 index 000000000..ad32c83a7 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.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.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.eef.ide.ui/.project b/plugins/org.eclipse.eef.ide.ui/.project new file mode 100644 index 000000000..2bc4ade00 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.ide.ui</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>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fb8257839 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,398 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.cleanOutputFolder=clean +org.eclipse.jdt.core.builder.duplicateResourceTask=warning +org.eclipse.jdt.core.builder.invalidClasspath=abort +org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter= +org.eclipse.jdt.core.circularClasspath=error +org.eclipse.jdt.core.classpath.exclusionPatterns=enabled +org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled +org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=error +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=error +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=150 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=true +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.incompatibleJDKLevel=ignore +org.eclipse.jdt.core.incompleteClasspath=error +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.launching.prefs new file mode 100644 index 000000000..3bb235278 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.launching.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore diff --git a/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..16886bccd --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_settings_version=12 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=com;java;javax;org; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * Return the ${bare_field_name}.\n *\n * @return the ${bare_field_name}\n */</template><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * Sets the ${bare_field_name}.\n *\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) 2015 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * Obeo - initial API and implementation\n *******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * {@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">EEFIdeUiPlugin.getImplementation().logError(message, e);</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="false" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return this.${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=false +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=false +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=false +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=false +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=false +sp_cleanup.remove_redundant_type_arguments=false +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=false +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=false +sp_cleanup.remove_unused_private_types=false +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.pde.core.prefs b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 000000000..923c37fb8 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +resolve.requirebundle=false diff --git a/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.pde.prefs new file mode 100644 index 000000000..3112e810d --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=1 +compilers.p.build.java.compiler=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=0 +compilers.p.missing-version-import-package=0 +compilers.p.missing-version-require-bundle=0 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=0 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.eef.ide.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.eef.ide.ui/META-INF/MANIFEST.MF new file mode 100644 index 000000000..7206527ba --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/META-INF/MANIFEST.MF @@ -0,0 +1,26 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.eef.ide.ui;singleton:=true +Bundle-Version: 2.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Import-Package: org.eclipse.eef;version="[2.0.0,3.0.0)", + org.eclipse.eef.api;version="[2.0.0,3.0.0)", + org.eclipse.eef.core.api;version="[2.0.0,3.0.0)", + org.eclipse.eef.core.api.controllers;version="2.0.0", + org.eclipse.eef.ide.internal;version="[2.0.0,3.0.0)", + org.eclipse.eef.ide.internal.extensions;version="[2.0.0,3.0.0)", + org.eclipse.sirius.common.interpreter.api;version="1.0.0" +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)", + org.eclipse.ui.views.properties.tabbed;bundle-version="[3.0.0,4.0.0)", + org.eclipse.emf.common;bundle-version="[2.8.0,3.0.0)", + org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)", + org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)" +Export-Package: org.eclipse.eef.ide.ui.api;version="2.0.0", + org.eclipse.eef.ide.ui.internal;version="2.0.0";x-internal:=true, + org.eclipse.eef.ide.ui.internal.properties;version="2.0.0";x-internal:=true, + org.eclipse.eef.ide.ui.internal.widgets;version="2.0.0" +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.eef.ide.ui.internal.EEFIdeUiPlugin$Implementation diff --git a/plugins/org.eclipse.eef.ide.ui/about.html b/plugins/org.eclipse.eef.ide.ui/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.ide.ui/build.properties b/plugins/org.eclipse.eef.ide.ui/build.properties new file mode 100644 index 000000000..fe056b0aa --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/build.properties @@ -0,0 +1,15 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + about.html,\ + plugin.properties +javacProjectSettings = true +additional.bundles = org.eclipse.emf.transaction diff --git a/plugins/org.eclipse.eef.ide.ui/plugin.properties b/plugins/org.eclipse.eef.ide.ui/plugin.properties new file mode 100644 index 000000000..adc702834 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/plugin.properties @@ -0,0 +1,9 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +pluginName=EEF IDE UI +providerName=Eclipse Modeling Project diff --git a/plugins/org.eclipse.eef.ide.ui/pom.xml b/plugins/org.eclipse.eef.ide.ui/pom.xml new file mode 100644 index 000000000..dccbbba00 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2015 Obeo. +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: + Obeo - initial API and implementation +--> +<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> + + <parent> + <groupId>org.eclipse.eef</groupId> + <artifactId>org.eclipse.eef.parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.eef.releng</relativePath> + </parent> + + <artifactId>org.eclipse.eef.ide.ui</artifactId> + <packaging>eclipse-plugin</packaging> + + <name>EEF IDE UI</name> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-source-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/TabDescriptorFilter.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/TabDescriptorFilter.java new file mode 100644 index 000000000..d06f81a9f --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/TabDescriptorFilter.java @@ -0,0 +1,108 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.api; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.eef.EEFViewDescription; +import org.eclipse.eef.api.IEEFViewDescriptionProvider; +import org.eclipse.eef.core.api.EEFPage; +import org.eclipse.eef.core.api.EEFVariableManagerFactory; +import org.eclipse.eef.core.api.EEFView; +import org.eclipse.eef.core.api.EEFViewFactory; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.eef.ide.internal.EEFIdePlugin; +import org.eclipse.eef.ide.internal.extensions.IItemDescriptor; +import org.eclipse.eef.ide.internal.extensions.IItemRegistry; +import org.eclipse.eef.ide.ui.internal.properties.EEFTabDescriptor; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IInterpreterProvider; +import org.eclipse.ui.views.properties.tabbed.ITabDescriptor; + +/** + * Utility class used to filter all the tab descriptors to use for the given {@link IEEFContext}. + * + * @author sbegaudeau + */ +public class TabDescriptorFilter { + + /** + * Returns the {@link ITabDescriptor} matching the given {@link IEEFContext}. + * + * @param objects + * The input objects + * @param editingDomain + * The editing domain + * @return The {@link ITabDescriptor} to use + */ + public List<ITabDescriptor> getTabDescriptors(final Object[] objects, TransactionalEditingDomain editingDomain) { + List<EEFViewDescription> eefViewDescriptions = this.getEEFViewDescriptions(); + List<IInterpreterProvider> interpreterProviders = this.getInterprerProviders(); + + List<ITabDescriptor> tabDescriptors = new ArrayList<ITabDescriptor>(); + if (eefViewDescriptions.size() > 0 && objects.length > 0 && objects[0] instanceof EObject) { + EEFViewDescription eefViewDescription = eefViewDescriptions.get(0); + EObject eObject = (EObject) objects[0]; + + IVariableManager variableManager = new EEFVariableManagerFactory().createVariableManager(); + EEFView eefView = new EEFViewFactory().createEEFView(eefViewDescription, variableManager, interpreterProviders, editingDomain, eObject); + + List<EEFPage> eefPages = eefView.getPages(); + for (EEFPage eefPage : eefPages) { + EEFTabDescriptor eefTabDescriptor = new EEFTabDescriptor(eefPage); + tabDescriptors.add(eefTabDescriptor); + } + } + + return tabDescriptors; + } + + /** + * Returns the list of all the available {@link EEFViewDescription}. + * + * @return The list of all the available {@link EEFViewDescription}. + */ + private List<EEFViewDescription> getEEFViewDescriptions() { + List<EEFViewDescription> eefViewDescriptions = new ArrayList<EEFViewDescription>(); + + List<IEEFViewDescriptionProvider> eefViewDescriptionProviders = new ArrayList<IEEFViewDescriptionProvider>(); + IItemRegistry<IEEFViewDescriptionProvider> eefViewDescriptionProviderRegistry = EEFIdePlugin.getImplementation() + .getEEFViewDescriptionProviderRegistry(); + List<IItemDescriptor<IEEFViewDescriptionProvider>> itemDescriptors = eefViewDescriptionProviderRegistry.getItemDescriptors(); + for (IItemDescriptor<IEEFViewDescriptionProvider> itemDescriptor : itemDescriptors) { + IEEFViewDescriptionProvider eefViewDescriptionProvider = itemDescriptor.getItem(); + eefViewDescriptionProviders.add(eefViewDescriptionProvider); + } + + for (IEEFViewDescriptionProvider eefViewDescriptionProvider : eefViewDescriptionProviders) { + eefViewDescriptions.add(eefViewDescriptionProvider.get()); + } + + return eefViewDescriptions; + } + + /** + * Returns the list of all the available {@link IInterpreterProvider}. + * + * @return The list of all the available {@link IInterpreterProvider} + */ + private List<IInterpreterProvider> getInterprerProviders() { + List<IInterpreterProvider> interpreterProviders = new ArrayList<IInterpreterProvider>(); + List<IItemDescriptor<IInterpreterProvider>> descriptors = EEFIdePlugin.getImplementation().getInterpreterProviderRegistry() + .getItemDescriptors(); + for (IItemDescriptor<IInterpreterProvider> itemDescriptor : descriptors) { + interpreterProviders.add(itemDescriptor.getItem()); + } + return interpreterProviders; + } +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/EEFIdeUiPlugin.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/EEFIdeUiPlugin.java new file mode 100644 index 000000000..f98052501 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/EEFIdeUiPlugin.java @@ -0,0 +1,97 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.emf.common.EMFPlugin; +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * The plugin class of the bundle. + * + * @author sbegaudeau + */ +public class EEFIdeUiPlugin extends EMFPlugin { + + /** + * The identifier of the plugin. + */ + public static final String PLUGIN_ID = "org.eclipse.eef.ide.ui"; //$NON-NLS-1$ + + /** + * The OSGi related implementation of the plugin. + */ + private static Implementation plugin; + + /** + * The constructor. + */ + public EEFIdeUiPlugin() { + super(new ResourceLocator[0]); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.common.EMFPlugin#getPluginResourceLocator() + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + public static Implementation getImplementation() { + return plugin; + } + + /** + * This class is used as the bundle activator of the plugin. + * + * @author sbegaudeau + */ + public static class Implementation extends EclipsePlugin { + /** + * The constructor. + */ + public Implementation() { + super(); + + EEFIdeUiPlugin.plugin = this; + } + + /** + * Logs an error with the exception and the given message. + * + * @param message + * The message + * @param exception + * The exception + */ + public void logError(String message, Exception exception) { + IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, message, exception); + this.getLog().log(status); + } + + /** + * Logs a warning with the exception and the given message. + * + * @param message + * The message + * @param exception + * The exception + */ + public void logWarning(String message, Exception exception) { + IStatus status = new Status(IStatus.WARNING, PLUGIN_ID, message, exception); + this.getLog().log(status); + } + } +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFSection.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFSection.java new file mode 100644 index 000000000..09f70586d --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFSection.java @@ -0,0 +1,162 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal.properties; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.eef.EEFContainerDescription; +import org.eclipse.eef.core.api.EEFGroup; +import org.eclipse.eef.core.api.EEFPage; +import org.eclipse.eef.ide.ui.internal.widgets.EEFContainerLifecycleManager; +import org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.sirius.common.interpreter.api.IEvaluationResult; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.forms.widgets.Section; +import org.eclipse.ui.views.properties.tabbed.ISection; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; + +/** + * The implementation of {@link ISection} using the {@link EEFSectionDescriptor}. + * + * @author sbegaudeau + */ +public class EEFSection implements ISection { + + /** + * The section descriptor. + */ + private EEFSectionDescriptor eefSectionDescriptor; + + /** + * The lifecycle managers of this section. + */ + private List<ILifecycleManager> lifecycleManagers = new ArrayList<ILifecycleManager>(); + + /** + * The constructor. + * + * @param eefSectionDescriptor + * The section descriptor + */ + public EEFSection(EEFSectionDescriptor eefSectionDescriptor) { + this.eefSectionDescriptor = eefSectionDescriptor; + } + + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + EEFGroup eefGroup = this.eefSectionDescriptor.getEEFGroup(); + EEFContainerDescription eefContainerDescription = eefGroup.getDescription().getContainer(); + + if (eefContainerDescription != null) { + TabbedPropertySheetWidgetFactory widgetFactory = tabbedPropertySheetPage.getWidgetFactory(); + + Composite container = widgetFactory.createComposite(parent); + container.setLayout(new GridLayout(3, false)); + + Section section = widgetFactory.createSection(container, Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED); + + String labelExpression = eefGroup.getDescription().getLabelExpression(); + if (labelExpression != null) { + IEvaluationResult result = eefGroup.getInterpreter() + .evaluateExpression(eefGroup.getVariableManager().getVariables(), labelExpression); + if (result.getDiagnostic().getSeverity() == Diagnostic.OK && result.getValue() instanceof String) { + section.setText((String) result.getValue()); + } + } else { + section.setText(""); //$NON-NLS-1$ + } + + GridData sectionLayoutData = new GridData(GridData.FILL_HORIZONTAL); + sectionLayoutData.horizontalSpan = 3; + section.setLayoutData(sectionLayoutData); + Composite group = widgetFactory.createComposite(section); + GridLayout groupLayout = new GridLayout(); + groupLayout.numColumns = 3; + group.setLayout(groupLayout); + section.setClient(group); + + EEFContainerLifecycleManager containerLifecycleManager = new EEFContainerLifecycleManager(eefContainerDescription, eefGroup + .getVariableManager().createChild(), eefGroup.getInterpreter(), eefGroup.getEditingDomain()); + containerLifecycleManager.createControl(group, tabbedPropertySheetPage); + + parent.layout(); + + this.lifecycleManagers.add(containerLifecycleManager); + } + } + + @Override + public void aboutToBeShown() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.aboutToBeShown(); + } + } + + @Override + public void setInput(IWorkbenchPart part, ISelection selection) { + if (selection instanceof IStructuredSelection) { + IStructuredSelection iStructuredSelection = (IStructuredSelection) selection; + Object object = iStructuredSelection.getFirstElement(); + + EObject eObject = Platform.getAdapterManager().getAdapter(object, EObject.class); + + // Update the input of the view only + EEFGroup eefGroup = this.eefSectionDescriptor.getEEFGroup(); + EEFPage eefPage = eefGroup.getPage(); + + // TODO we should create a whole context with the current selection etc for the context + eefPage.getView().setInput(eObject); + } + } + + @Override + public void refresh() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.refresh(); + } + } + + @Override + public void aboutToBeHidden() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.aboutToBeHidden(); + } + } + + @Override + public void dispose() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.dispose(); + } + } + + @Override + public int getMinimumHeight() { + return SWT.DEFAULT; + } + + @Override + public boolean shouldUseExtraSpace() { + return true; + } + +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFSectionDescriptor.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFSectionDescriptor.java new file mode 100644 index 000000000..6f54d27d2 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFSectionDescriptor.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal.properties; + +import org.eclipse.eef.core.api.EEFGroup; +import org.eclipse.jface.viewers.IFilter; +import org.eclipse.ui.views.properties.tabbed.AbstractSectionDescriptor; +import org.eclipse.ui.views.properties.tabbed.ISection; + +/** + * The implementation of the {@link AbstractSectionDescriptor} using the {@link EEFGroup}. + * + * @author sbegaudeau + */ +public class EEFSectionDescriptor extends AbstractSectionDescriptor { + + /** + * The EEFGroup. + */ + private EEFGroup eefGroup; + + /** + * The constructor. + * + * @param eefGroup + * The EEFGroup + */ + public EEFSectionDescriptor(EEFGroup eefGroup) { + this.eefGroup = eefGroup; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getId() + */ + @Override + public String getId() { + return this.eefGroup.getDescription().getIdentifier(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getSectionClass() + */ + @Override + public ISection getSectionClass() { + return new EEFSection(this); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.ISectionDescriptor#getTargetTab() + */ + @Override + public String getTargetTab() { + return null; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.AbstractSectionDescriptor#getFilter() + */ + @Override + public IFilter getFilter() { + return new IFilter() { + + @Override + public boolean select(Object toTest) { + return true; + } + }; + } + + /** + * Returns the EEFGroup used to managed this section descriptor. + * + * @return The EEFGroup used to managed this section descriptor + */ + public EEFGroup getEEFGroup() { + return eefGroup; + } +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFTabDescriptor.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFTabDescriptor.java new file mode 100644 index 000000000..2d73d8da6 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/properties/EEFTabDescriptor.java @@ -0,0 +1,91 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal.properties; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.eef.core.api.EEFGroup; +import org.eclipse.eef.core.api.EEFPage; +import org.eclipse.ui.views.properties.tabbed.AbstractTabDescriptor; +import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor; + +/** + * The implementation of the {@link AbstractTabDescriptor} using the {@link EEFPage}. + * + * @author sbegaudeau + */ +public class EEFTabDescriptor extends AbstractTabDescriptor { + + /** + * The {@link EEFPage}. + */ + private EEFPage eefPage; + + /** + * The constructor. + * + * @param eefPage + * The EEFPage + */ + public EEFTabDescriptor(EEFPage eefPage) { + this.eefPage = eefPage; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.ITabDescriptor#getId() + */ + @Override + public String getId() { + return this.eefPage.getDescription().getIdentifier(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.ITabDescriptor#getLabel() + */ + @Override + public String getLabel() { + return this.eefPage.getLabel(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.AbstractTabDescriptor#getSectionDescriptors() + */ + @SuppressWarnings("rawtypes") + @Override + public List getSectionDescriptors() { + List<ISectionDescriptor> sectionDescriptors = new ArrayList<ISectionDescriptor>(); + + List<EEFGroup> eefGroups = this.eefPage.getGroups(); + for (EEFGroup eefGroup : eefGroups) { + sectionDescriptors.add(new EEFSectionDescriptor(eefGroup)); + } + + return sectionDescriptors; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.ui.views.properties.tabbed.ITabDescriptor#getCategory() + */ + @Override + public String getCategory() { + return "EEF"; //$NON-NLS-1$ + } + +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFContainerLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFContainerLifecycleManager.java new file mode 100644 index 000000000..cf1f21ee2 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFContainerLifecycleManager.java @@ -0,0 +1,147 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal.widgets; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.eef.EEFContainerDescription; +import org.eclipse.eef.EEFTextDescription; +import org.eclipse.eef.EEFWidgetDescription; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; + +/** + * This class will handle the lifecycle of the {@link EEFContainerDescription}. + * + * @author sbegaudeau + */ +public class EEFContainerLifecycleManager implements ILifecycleManager { + + /** + * The variable manager. + */ + private IVariableManager variableManager; + + /** + * The interpreter. + */ + private IInterpreter interpreter; + + /** + * The editing domain. + */ + private TransactionalEditingDomain editingDomain; + + /** + * The description of the container. + */ + private EEFContainerDescription description; + + /** + * The lifecycle managers of the child of the container. + */ + private List<ILifecycleManager> lifecycleManagers = new ArrayList<ILifecycleManager>(); + + /** + * The constructor. + * + * @param description + * The description of the container + * @param variableManager + * The variable manager + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + */ + public EEFContainerLifecycleManager(EEFContainerDescription description, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + this.description = description; + this.variableManager = variableManager; + this.interpreter = interpreter; + this.editingDomain = editingDomain; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#createControl(org.eclipse.swt.widgets.Composite, + * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) + */ + @Override + public void createControl(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + List<EEFWidgetDescription> widgets = this.description.getWidgets(); + for (EEFWidgetDescription eefWidgetDescription : widgets) { + if (eefWidgetDescription instanceof EEFTextDescription) { + EEFTextDescription eefTextDescription = (EEFTextDescription) eefWidgetDescription; + + EEFTextLifecycleManager eefTextLifecycleManager = new EEFTextLifecycleManager(eefTextDescription, variableManager.createChild(), + interpreter, editingDomain); + eefTextLifecycleManager.createControl(parent, tabbedPropertySheetPage); + + this.lifecycleManagers.add(eefTextLifecycleManager); + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#aboutToBeShown() + */ + @Override + public void aboutToBeShown() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.aboutToBeShown(); + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#refresh() + */ + @Override + public void refresh() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.refresh(); + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#aboutToBeHidden() + */ + @Override + public void aboutToBeHidden() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.aboutToBeHidden(); + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#dispose() + */ + @Override + public void dispose() { + for (ILifecycleManager lifecycleManager : lifecycleManagers) { + lifecycleManager.dispose(); + } + } + +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java new file mode 100644 index 000000000..02f0698a0 --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java @@ -0,0 +1,206 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal.widgets; + +import org.eclipse.eef.EEFTextDescription; +import org.eclipse.eef.core.api.IVariableManager; +import org.eclipse.eef.core.api.controllers.EEFControllersFactory; +import org.eclipse.eef.core.api.controllers.EEFTextController; +import org.eclipse.eef.core.api.controllers.IConsumer; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.sirius.common.interpreter.api.IInterpreter; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; + +/** + * This class will be used in order to manager the lifecycle of a text. + * + * @author sbegaudeau + */ +public class EEFTextLifecycleManager implements ILifecycleManager { + /** + * The key used for the help image. + */ + private static final String DLG_IMG_HELP = "dialog_help_image"; //$NON-NLS-1$ + + /** + * The description. + */ + private EEFTextDescription description; + + /** + * The variable manager. + */ + private IVariableManager variableManager; + + /** + * The interpreter. + */ + private IInterpreter interpreter; + + /** + * The editing domain. + */ + private TransactionalEditingDomain editingDomain; + + /** + * The text. + */ + private Text text; + + /** + * The label. + */ + private Label label; + + /** + * The help label. + */ + private Label help; + + /** + * The controller. + */ + private EEFTextController controller; + + /** + * The listener on the text. + */ + private ModifyListener modifyListener; + + /** + * The constructor. + * + * @param description + * The description + * @param variableManager + * The variable manager + * @param interpreter + * The interpreter + * @param editingDomain + * The editing domain + */ + public EEFTextLifecycleManager(EEFTextDescription description, IVariableManager variableManager, IInterpreter interpreter, + TransactionalEditingDomain editingDomain) { + this.description = description; + this.variableManager = variableManager; + this.interpreter = interpreter; + this.editingDomain = editingDomain; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#createControl(org.eclipse.swt.widgets.Composite, + * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) + */ + @Override + public void createControl(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + TabbedPropertySheetWidgetFactory widgetFactory = tabbedPropertySheetPage.getWidgetFactory(); + + this.label = widgetFactory.createLabel(parent, ""); //$NON-NLS-1$ + + this.text = widgetFactory.createText(parent, "", SWT.NONE); //$NON-NLS-1$ + this.text.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); + widgetFactory.paintBordersFor(parent); + GridData nameData = new GridData(GridData.FILL_HORIZONTAL); + this.text.setLayoutData(nameData); + + this.help = widgetFactory.createLabel(parent, ""); //$NON-NLS-1$ + Image image = JFaceResources.getImage(DLG_IMG_HELP); + help.setImage(image); + help.setToolTipText("There should be some help in this tooltip..."); //$NON-NLS-1$ + + this.controller = new EEFControllersFactory().createTextController(this.description, this.variableManager, this.interpreter, + this.editingDomain); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#aboutToBeShown() + */ + @Override + public void aboutToBeShown() { + this.modifyListener = new ModifyListener() { + @Override + public void modifyText(ModifyEvent event) { + controller.updateValue(text.getText()); + } + }; + this.text.addModifyListener(this.modifyListener); + + this.controller.onNewValue(new IConsumer<String>() { + @Override + public void apply(String value) { + if (!text.isDisposed() && !(text.getText() != null && text.getText().equals(value))) { + text.setText(value); + if (!text.isEnabled()) { + text.setEnabled(true); + } + } + } + }); + + this.controller.onNewLabel(new IConsumer<String>() { + @Override + public void apply(String value) { + if (!label.isDisposed() && !(label.getText() != null && label.getText().equals(value))) { + label.setText(value); + } + } + }); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#refresh() + */ + @Override + public void refresh() { + this.controller.refresh(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#aboutToBeHidden() + */ + @Override + public void aboutToBeHidden() { + if (!text.isDisposed()) { + this.text.removeModifyListener(this.modifyListener); + } + this.controller.removeNewValueConsumer(); + this.controller.removeNewLabelConsumer(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.ui.internal.widgets.ILifecycleManager#dispose() + */ + @Override + public void dispose() { + // do nothing + } +} diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ILifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ILifecycleManager.java new file mode 100644 index 000000000..2808c665a --- /dev/null +++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ILifecycleManager.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.ui.internal.widgets; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; + +/** + * Implementations of this interface will be used to handle the lifecycle of the widgets and controllers created for a + * description. + * + * @author sbegaudeau + */ +public interface ILifecycleManager { + /** + * Creates the controls for the description. + * + * @param parent + * The composite parent + * @param tabbedPropertySheetPage + * The tabbed property sheet page + */ + void createControl(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage); + + /** + * Prepares for the widgets to be shown. + */ + void aboutToBeShown(); + + /** + * Refresh the widgets. + */ + void refresh(); + + /** + * Prepares for the widgets to be hidden. + */ + void aboutToBeHidden(); + + /** + * Disposes the content created. The widgets created under the composite will be disposed by SWT already. + */ + void dispose(); +} diff --git a/plugins/org.eclipse.eef.ide/.checkstyle b/plugins/org.eclipse.eef.ide/.checkstyle new file mode 100644 index 000000000..121faf77d --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.checkstyle @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> + <local-check-config name="EEF" location="/org.eclipse.eef.releng/codestyle/EEFCheckstyleConfiguration.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </local-check-config> + <fileset name="all" enabled="true" check-config-name="EEF" local="true"> + <file-match-pattern match-pattern="." include-pattern="true"/> + </fileset> +</fileset-config> diff --git a/plugins/org.eclipse.eef.ide/.classpath b/plugins/org.eclipse.eef.ide/.classpath new file mode 100644 index 000000000..ad32c83a7 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.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.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.eef.ide/.project b/plugins/org.eclipse.eef.ide/.project new file mode 100644 index 000000000..0b4e1819c --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef.ide</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>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fb8257839 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,398 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.cleanOutputFolder=clean +org.eclipse.jdt.core.builder.duplicateResourceTask=warning +org.eclipse.jdt.core.builder.invalidClasspath=abort +org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter= +org.eclipse.jdt.core.circularClasspath=error +org.eclipse.jdt.core.classpath.exclusionPatterns=enabled +org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled +org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=error +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=error +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=150 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=true +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.incompatibleJDKLevel=ignore +org.eclipse.jdt.core.incompleteClasspath=error +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.launching.prefs new file mode 100644 index 000000000..3bb235278 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.launching.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore diff --git a/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..e6ceed5c2 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_settings_version=12 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=com;java;javax;org; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * Return the ${bare_field_name}.\n *\n * @return the ${bare_field_name}\n */</template><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * Sets the ${bare_field_name}.\n *\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) 2015 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * Obeo - initial API and implementation\n *******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * {@inheritDoc}\n *\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">EEFIdePlugin.getImplementation().logError(message, e);</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="false" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return this.${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=false +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=false +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=false +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=false +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=false +sp_cleanup.remove_redundant_type_arguments=false +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=false +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=false +sp_cleanup.remove_unused_private_types=false +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.eef.ide/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.pde.prefs new file mode 100644 index 000000000..3112e810d --- /dev/null +++ b/plugins/org.eclipse.eef.ide/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=1 +compilers.p.build.java.compiler=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=0 +compilers.p.missing-version-import-package=0 +compilers.p.missing-version-require-bundle=0 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=0 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.eef.ide/META-INF/MANIFEST.MF b/plugins/org.eclipse.eef.ide/META-INF/MANIFEST.MF new file mode 100644 index 000000000..3271736a5 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.eef.ide;singleton:=true +Bundle-Version: 2.0.0.qualifier +Bundle-Activator: org.eclipse.eef.ide.internal.EEFIdePlugin$Implementation +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.0.0,4.0.0)", + org.eclipse.emf.common;bundle-version="[2.8.0,3.0.0)" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Import-Package: org.eclipse.eef;version="[2.0.0,3.0.0)", + org.eclipse.eef.api;version="[2.0.0,3.0.0)", + org.eclipse.sirius.common.interpreter.api;version="1.0.0" +Export-Package: org.eclipse.eef.ide.internal;version="2.0.0";x-friends:="org.eclipse.eef.ide.ui", + org.eclipse.eef.ide.internal.extensions;version="2.0.0";x-friends:="org.eclipse.eef.ide.ui", + org.eclipse.eef.ide.internal.extensions.impl;version="2.0.0";x-internal:=true diff --git a/plugins/org.eclipse.eef.ide/about.html b/plugins/org.eclipse.eef.ide/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/plugins/org.eclipse.eef.ide/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 15, 2010</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.ide/build.properties b/plugins/org.eclipse.eef.ide/build.properties new file mode 100644 index 000000000..7ff6173f1 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/build.properties @@ -0,0 +1,15 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml,\ + about.html +javacProjectSettings = true diff --git a/plugins/org.eclipse.eef.ide/plugin.properties b/plugins/org.eclipse.eef.ide/plugin.properties new file mode 100644 index 000000000..84644c30c --- /dev/null +++ b/plugins/org.eclipse.eef.ide/plugin.properties @@ -0,0 +1,12 @@ +# Copyright (c) 2015 Obeo. +# 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.htm +# Contributors: Obeo - initial API and implementation + +pluginName=EEF IDE +providerName=Eclipse Modeling Project + +PluginXML_eefViewDescriptionProviderExtensionPointName=EEF View Description Provider +PluginXML_interpreterProviderExtensionPointName=Interpreter Provider
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.ide/plugin.xml b/plugins/org.eclipse.eef.ide/plugin.xml new file mode 100644 index 000000000..bb2621391 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/plugin.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + <extension-point id="eefViewDescriptionProvider" name="%PluginXML_eefViewDescriptionProviderExtensionPointName" schema="schema/eefViewDescriptionProvider.exsd"/> + <extension-point id="interpreterProvider" name="%PluginXML_interpreterProviderExtensionPointName" schema="schema/interpreterProvider.exsd"/> + +</plugin> diff --git a/plugins/org.eclipse.eef.ide/pom.xml b/plugins/org.eclipse.eef.ide/pom.xml new file mode 100644 index 000000000..07d12c993 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright (c) 2015 Obeo. +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: + Obeo - initial API and implementation +--> +<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> + + <parent> + <groupId>org.eclipse.eef</groupId> + <artifactId>org.eclipse.eef.parent</artifactId> + <version>2.0.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.eef.releng</relativePath> + </parent> + + <artifactId>org.eclipse.eef.ide</artifactId> + <packaging>eclipse-plugin</packaging> + + <name>EEF IDE</name> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-source-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + </plugins> + </build> +</project>
\ No newline at end of file diff --git a/plugins/org.eclipse.eef.ide/schema/eefViewDescriptionProvider.exsd b/plugins/org.eclipse.eef.ide/schema/eefViewDescriptionProvider.exsd new file mode 100644 index 000000000..dac3d7243 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/schema/eefViewDescriptionProvider.exsd @@ -0,0 +1,123 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.eef.ide" xmlns="http://www.w3.org/2001/XMLSchema"> +<annotation> + <appinfo> + <meta.schema plugin="org.eclipse.eef.ide" id="eefViewDescriptionProvider" name="EEF View Description Provider"/> + </appinfo> + <documentation> + [Enter description of this extension point.] + </documentation> + </annotation> + + <element name="extension"> + <annotation> + <appinfo> + <meta.element /> + </appinfo> + </annotation> + <complexType> + <sequence> + <element ref="descriptor" minOccurs="1" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + <appinfo> + <meta.attribute translatable="true"/> + </appinfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="descriptor"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="label" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="description" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + <appinfo> + <meta.attribute kind="java" basedOn=":org.eclipse.eef.api.IEEFViewDescriptionProvider"/> + </appinfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appinfo> + <meta.section type="since"/> + </appinfo> + <documentation> + 2.0.0 + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="examples"/> + </appinfo> + <documentation> + [Enter extension point usage example here.] + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="apiinfo"/> + </appinfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="implementation"/> + </appinfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + +</schema> diff --git a/plugins/org.eclipse.eef.ide/schema/interpreterProvider.exsd b/plugins/org.eclipse.eef.ide/schema/interpreterProvider.exsd new file mode 100644 index 000000000..413fa69b1 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/schema/interpreterProvider.exsd @@ -0,0 +1,123 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.eef.ide" xmlns="http://www.w3.org/2001/XMLSchema"> +<annotation> + <appinfo> + <meta.schema plugin="org.eclipse.eef.ide" id="interpreterProvider" name="%PluginXML_interpreterProviderExtensionPointName"/> + </appinfo> + <documentation> + [Enter description of this extension point.] + </documentation> + </annotation> + + <element name="extension"> + <annotation> + <appinfo> + <meta.element /> + </appinfo> + </annotation> + <complexType> + <sequence> + <element ref="descriptor" minOccurs="1" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + <appinfo> + <meta.attribute translatable="true"/> + </appinfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="descriptor"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="label" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="description" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + <appinfo> + <meta.attribute kind="java" basedOn=":org.eclipse.eef.interpreter.api.IInterpreterProvider"/> + </appinfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appinfo> + <meta.section type="since"/> + </appinfo> + <documentation> + [Enter the first release in which this extension point appears.] + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="examples"/> + </appinfo> + <documentation> + [Enter extension point usage example here.] + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="apiinfo"/> + </appinfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="implementation"/> + </appinfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + +</schema> diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/EEFIdePlugin.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/EEFIdePlugin.java new file mode 100644 index 000000000..91a548af5 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/EEFIdePlugin.java @@ -0,0 +1,209 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal; + +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.eef.api.IEEFViewDescriptionProvider; +import org.eclipse.eef.ide.internal.extensions.AbstractRegistryEventListener; +import org.eclipse.eef.ide.internal.extensions.IItemRegistry; +import org.eclipse.eef.ide.internal.extensions.impl.DescriptorRegistryEventListener; +import org.eclipse.eef.ide.internal.extensions.impl.ItemRegistry; +import org.eclipse.emf.common.EMFPlugin; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.sirius.common.interpreter.api.IInterpreterProvider; +import org.osgi.framework.BundleContext; + +/** + * The plugin class of the bundle. + * + * @author sbegaudeau + */ +public class EEFIdePlugin extends EMFPlugin { + + /** + * The identifier of the plugin. + */ + public static final String PLUGIN_ID = "org.eclipse.eef.ide"; //$NON-NLS-1$ + + /** + * The sole instance of the plugin. + */ + public static final EEFIdePlugin INSTANCE = new EEFIdePlugin(); + + /** + * The name of the extension point for the view provider. + */ + private static final String EEF_VIEW_DESCRIPTION_PROVIDER_EXTENSION_POINT = "eefViewDescriptionProvider"; //$NON-NLS-1$ + + /** + * The name of the extension point for the interpreter provider. + */ + private static final String INTERPRETER_PROVIDER_EXTENSION_POINT = "interpreterProvider"; //$NON-NLS-1$ + + /** + * The OSGi related implementation of the plugin. + */ + private static Implementation plugin; + + /** + * The constructor. + */ + public EEFIdePlugin() { + super(new ResourceLocator[0]); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.common.EMFPlugin#getPluginResourceLocator() + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the OSGi related implementation. + * + * @return The OSGi related implementation + */ + public static Implementation getImplementation() { + return plugin; + } + + /** + * This class is used as the bundle activator of the plugin. + * + * @author sbegaudeau + */ + public static class Implementation extends EclipsePlugin { + /** + * The {@link IItemRegistry} used to retrieve the EEF View Description providers. + */ + private IItemRegistry<IEEFViewDescriptionProvider> eefViewDescriptionProviderRegistry; + + /** + * The extension registry listener used to populate the registry of EEF View Description providers. + */ + private AbstractRegistryEventListener eefViewDescriptionProviderListener; + + /** + * The {@link IItemRegistry} used to retrieve the {@link IInterpreterProvider}. + */ + private IItemRegistry<IInterpreterProvider> interpreterProviderRegistry; + + /** + * The extension registry listener used to populate the registry of {@link IInterpreterProvider}. + */ + private AbstractRegistryEventListener interpreterProviderListener; + + /** + * The constructor. + */ + public Implementation() { + super(); + + EEFIdePlugin.plugin = this; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + + IExtensionRegistry registry = Platform.getExtensionRegistry(); + + this.eefViewDescriptionProviderRegistry = new ItemRegistry<IEEFViewDescriptionProvider>(); + this.eefViewDescriptionProviderListener = new DescriptorRegistryEventListener<IEEFViewDescriptionProvider>(PLUGIN_ID, + EEF_VIEW_DESCRIPTION_PROVIDER_EXTENSION_POINT, this.eefViewDescriptionProviderRegistry); + registry.addListener(this.eefViewDescriptionProviderListener, PLUGIN_ID + '.' + EEF_VIEW_DESCRIPTION_PROVIDER_EXTENSION_POINT); + this.eefViewDescriptionProviderListener.readRegistry(registry); + + this.interpreterProviderRegistry = new ItemRegistry<IInterpreterProvider>(); + this.interpreterProviderListener = new DescriptorRegistryEventListener<IInterpreterProvider>(PLUGIN_ID, + INTERPRETER_PROVIDER_EXTENSION_POINT, this.interpreterProviderRegistry); + registry.addListener(this.interpreterProviderListener, PLUGIN_ID + '.' + INTERPRETER_PROVIDER_EXTENSION_POINT); + this.interpreterProviderListener.readRegistry(registry); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + super.stop(context); + + IExtensionRegistry registry = Platform.getExtensionRegistry(); + + registry.removeListener(this.eefViewDescriptionProviderListener); + this.eefViewDescriptionProviderListener = null; + this.eefViewDescriptionProviderRegistry = null; + + registry.removeListener(this.interpreterProviderListener); + this.interpreterProviderListener = null; + this.interpreterProviderRegistry = null; + } + + /** + * Return the viewProviderRegistry. + * + * @return the viewProviderRegistry + */ + public IItemRegistry<IEEFViewDescriptionProvider> getEEFViewDescriptionProviderRegistry() { + return this.eefViewDescriptionProviderRegistry; + } + + /** + * Return the interpreterProviderRegistry. + * + * @return the interpreterProviderRegistry + */ + public IItemRegistry<IInterpreterProvider> getInterpreterProviderRegistry() { + return this.interpreterProviderRegistry; + } + + /** + * Logs an error with the exception and the given message. + * + * @param message + * The message + * @param exception + * The exception + */ + public void logError(String message, Exception exception) { + IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, message, exception); + this.getLog().log(status); + } + + /** + * Logs a warning with the exception and the given message. + * + * @param message + * The message + * @param exception + * The exception + */ + public void logWarning(String message, Exception exception) { + IStatus status = new Status(IStatus.WARNING, PLUGIN_ID, message, exception); + this.getLog().log(status); + } + } + +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/I18N.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/I18N.java new file mode 100644 index 000000000..6fab6c5ee --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/I18N.java @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.security.AccessController; +import java.security.PrivilegedAction; + +import org.eclipse.emf.common.EMFPlugin; + +/** + * Helper class with bundle-independent code, that can be reused by other I18N classes local to each plug-in. + * + * @author pcdavid + */ +public final class I18N { + /** + * Used to mark a {@code public static String} field of a class as an externalized string, whose actual value will + * depend on the locale used at runtime. The optional value corresponds to the key in the {@code ResourceLocator}; + * if absent, the name of the field itself is used as key. + * + * @author pcdavid + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface TranslatableMessage { + /** + * The (optional) value of the message key. If absent, the key is assumed to be the same as the Java field's + * name. + */ + String[] value() default {}; + } + + /** + * The constructor. + */ + private I18N() { + // Prevent instantiation + } + + /** + * Initializes the value of a class's {@code TranslatableMessage}s using the specified plugin as + * {@code ResourceLocator}. + * + * @param messagesClass + * the class which defines the fields to initialize. + * @param plugin + * the plugin from which to obtain the localized value of the fields. + */ + public static void initializeMessages(final Class<?> messagesClass, final EMFPlugin plugin) { + if (System.getSecurityManager() == null) { + load(plugin, messagesClass); + return; + } + AccessController.doPrivileged(new PrivilegedAction<Void>() { + @Override + public Void run() { + load(plugin, messagesClass); + return null; + } + }); + } + + /** + * Loads the message class with the given {@link EMFPlugin}. + * + * @param plugin + * The plugin + * @param messagesClass + * The message class + */ + private static void load(EMFPlugin plugin, Class<?> messagesClass) { + for (Field field : messagesClass.getDeclaredFields()) { + if (isMessageField(field)) { + initialize(field, plugin); + } + } + } + + /** + * Indicates if the given field is a message field. + * + * @param field + * The field + * @return <code>true</code> if the given field is a message field, <code>false</code> otherwise. + */ + private static boolean isMessageField(Field field) { + int mods = field.getModifiers(); + boolean modsOK = Modifier.isPublic(mods) && Modifier.isStatic(mods) && !Modifier.isFinal(mods); + return modsOK && field.isAnnotationPresent(I18N.TranslatableMessage.class) && field.getType() == String.class; + } + + /** + * Initializes the given field used the plugin. + * + * @param field + * The field to initialize + * @param plugin + * The plugin + */ + private static void initialize(Field field, EMFPlugin plugin) { + String key = getKey(field); + String value = plugin.getString(key); + if (!field.isAccessible()) { + field.setAccessible(true); + } + try { + field.set(null, value); + } catch (IllegalArgumentException e) { + plugin.log(e); + } catch (IllegalAccessException e) { + plugin.log(e); + } + } + + /** + * Returns the key for the given field. + * + * @param field + * The field + * @return The key of the field + */ + private static String getKey(Field field) { + I18N.TranslatableMessage annot = field.getAnnotation(I18N.TranslatableMessage.class); + String[] key = annot.value(); + if (key == null || key.length == 0) { + key = new String[] { field.getName() }; + } + return key[0]; + } +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/Messages.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/Messages.java new file mode 100644 index 000000000..cd7ce1ed3 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/Messages.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal; + +import org.eclipse.eef.ide.internal.I18N.TranslatableMessage; + +/** + * Utility class used to hold the messages of the bundle. + * + * @author sbegaudeau + */ +public final class Messages { + + static { + I18N.initializeMessages(Messages.class, EEFIdePlugin.INSTANCE); + } + + // CHECKSTYLE:OFF + + @TranslatableMessage + public static String DescriptorRegistryEventListener_missingAttribute; + + @TranslatableMessage + public static String DescriptorRegistryEventListener_cannotInstantiateExtension; + + @TranslatableMessage + public static String DescriptorRegistryEventListener_extensionAlreadyContributed; + + // CHECKSTYLE:ON + + /** + * The constructor. + */ + private Messages() { + // Prevents instantiation + } +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/AbstractRegistryEventListener.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/AbstractRegistryEventListener.java new file mode 100644 index 000000000..c786bccb2 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/AbstractRegistryEventListener.java @@ -0,0 +1,201 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal.extensions; + +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtension; +import org.eclipse.core.runtime.IExtensionPoint; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.IRegistryEventListener; + +/** + * Utility superclass used to process extensions. + * + * @author sbegaudeau + */ +public abstract class AbstractRegistryEventListener implements IRegistryEventListener { + /** + * This enumeration will be used to distinguish the various states of an incoming event. + * + * @author sbegaudeau + */ + protected enum Action { + /** + * An extension is being added. + */ + ADD, + + /** + * An extension is being removed. + */ + REMOVE + } + + /** + * The namespace of the extension point. + */ + private final String namespace; + + /** + * The identifier of the extension point. + */ + private final String extensionPointID; + + /** + * The constructor. + * + * @param namespace + * The namespace of the extension point + * @param extensionPointID + * The identifier of the extension point + */ + public AbstractRegistryEventListener(String namespace, String extensionPointID) { + this.namespace = namespace; + this.extensionPointID = extensionPointID; + } + + /** + * Reads the extension registry for the addition of new extensions. + * + * @param extensionRegistry + * The extension registry + */ + public void readRegistry(IExtensionRegistry extensionRegistry) { + IExtensionPoint extensionPoint = extensionRegistry.getExtensionPoint(this.namespace, this.extensionPointID); + if (extensionPoint != null) { + IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements(); + for (IConfigurationElement configurationElement : configurationElements) { + this.processConfigurationElement(configurationElement, Action.ADD); + } + } + } + + /** + * Processes the configuration elements recursively. + * + * @param configurationElement + * The configuration element + * @param action + * Indicates whether we have an addition or a removal of the configuration element + */ + private void processConfigurationElement(IConfigurationElement configurationElement, Action action) { + boolean isValid = this.readConfigurationElement(configurationElement, action); + if (isValid) { + IConfigurationElement[] children = configurationElement.getChildren(); + for (IConfigurationElement childConfigurationElement : children) { + this.processConfigurationElement(childConfigurationElement, action); + } + } + } + + /** + * Reads the given configuration element. + * + * @param configurationElement + * The configuration element. + * @param action + * Indicates wether we have an addition or a removal of the configuration element + * @return <code>true</code> if the configuration element has been read properly + */ + private boolean readConfigurationElement(IConfigurationElement configurationElement, Action action) { + boolean isValid = false; + if (this.validateConfigurationElement(configurationElement)) { + if (Action.ADD == action) { + isValid = this.processAddition(configurationElement); + } else if (Action.REMOVE == action) { + isValid = this.processRemoval(configurationElement); + } + } + return isValid; + } + + /** + * Validates the given configuration element. + * + * @param configurationElement + * The configuration element + * @return <code>true</code> if the configuration element is valid, <code>false</code> otherwise + */ + protected abstract boolean validateConfigurationElement(IConfigurationElement configurationElement); + + /** + * Processes the addition of the given configuration element. + * + * @param configurationElement + * The configuration element + * @return <code>true</code> if the configuration element has been properly added, <code>false</code> otherwise + */ + protected abstract boolean processAddition(IConfigurationElement configurationElement); + + /** + * Processes the removal of the given configuration element. + * + * @param configurationElement + * The configuration element + * @return <code>true</code> if the configuration element has been properly removed, <code>false</code> otherwise + */ + protected abstract boolean processRemoval(IConfigurationElement configurationElement); + + /** + * {@inheritDoc} + * + * @see org.eclipse.core.runtime.IRegistryEventListener#added(org.eclipse.core.runtime.IExtension[]) + */ + @Override + public void added(IExtension[] extensions) { + for (IExtension extension : extensions) { + if (extension.getExtensionPointUniqueIdentifier().equals(this.extensionPointID)) { + IConfigurationElement[] configurationElements = extension.getConfigurationElements(); + for (IConfigurationElement configurationElement : configurationElements) { + this.processConfigurationElement(configurationElement, Action.ADD); + } + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.core.runtime.IRegistryEventListener#added(org.eclipse.core.runtime.IExtensionPoint[]) + */ + @Override + public void added(IExtensionPoint[] extensionPoints) { + // do nothing + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.core.runtime.IRegistryEventListener#removed(org.eclipse.core.runtime.IExtension[]) + */ + @Override + public void removed(IExtension[] extensions) { + for (IExtension extension : extensions) { + if (extension.getExtensionPointUniqueIdentifier().equals(this.extensionPointID)) { + IConfigurationElement[] configurationElements = extension.getConfigurationElements(); + for (IConfigurationElement configurationElement : configurationElements) { + this.processConfigurationElement(configurationElement, Action.REMOVE); + } + } + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.core.runtime.IRegistryEventListener#removed(org.eclipse.core.runtime.IExtensionPoint[]) + */ + @Override + public void removed(IExtensionPoint[] extensionPoints) { + // do nothing + } + +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/IItemDescriptor.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/IItemDescriptor.java new file mode 100644 index 000000000..3664067b0 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/IItemDescriptor.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal.extensions; + +/** + * The description of the Object. + * + * @author sbegaudeau + * + * @param <T> + * The type of the Object described + */ +public interface IItemDescriptor<T> { + /** + * Returns the identifier. + * + * @return The identifier + */ + String getID(); + + /** + * Returns the label. + * + * @return The label + */ + String getLabel(); + + /** + * Returns the description. + * + * @return The description + */ + String getDescription(); + + /** + * Returns the item. + * + * @return The item + */ + T getItem(); +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/IItemRegistry.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/IItemRegistry.java new file mode 100644 index 000000000..6f92d7cbe --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/IItemRegistry.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal.extensions; + +import java.util.List; + +/** + * The registry used to track the descriptors of the extensions. + * + * @author sbegaudeau + * + * @param <T> + * The type of the Objects described + */ +public interface IItemRegistry<T> { + /** + * Returns all the {@link IItemDescriptor} of the registry. + * + * @return The list of all the {@link IItemDescriptor} of the registry + */ + List<IItemDescriptor<T>> getItemDescriptors(); + + /** + * Returns the {@link IItemDescriptor} with the given identifier. + * + * @param id + * The identifier + * @return The {@link IItemDescriptor} with the given identifier or null if + * none could be found + */ + IItemDescriptor<T> getItemDescriptor(String id); + + /** + * Adds the given {@link IItemDescriptor} to the registry. + * + * @param descriptor + * The descriptior + * @return The previous {@link IItemDescriptor} with the same identifier, or + * null if no registered {@link IItemDescriptor} had the same + * identifier + */ + IItemDescriptor<T> add(IItemDescriptor<T> descriptor); + + /** + * Removes the {@link IItemDescriptor} with the given identifier. + * + * @param id + * The identifier + * @return The {@link IItemDescriptor} removed or null if no registered + * {@link IItemDescriptor} had an identifier matching the given one + */ + IItemDescriptor<T> remove(String id); + + /** + * Clears the registry. + */ + void clear(); +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/DescriptorRegistryEventListener.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/DescriptorRegistryEventListener.java new file mode 100644 index 000000000..21393cc46 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/DescriptorRegistryEventListener.java @@ -0,0 +1,161 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal.extensions.impl; + +import java.text.MessageFormat; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.eef.ide.internal.EEFIdePlugin; +import org.eclipse.eef.ide.internal.Messages; +import org.eclipse.eef.ide.internal.extensions.AbstractRegistryEventListener; +import org.eclipse.eef.ide.internal.extensions.IItemDescriptor; +import org.eclipse.eef.ide.internal.extensions.IItemRegistry; + +/** + * Utility class used to retrieved the descriptors of extensions. + * + * @author adaussy + * @author sbegaudeau + * + * @param <T> + * The type of the Object described + */ +public class DescriptorRegistryEventListener<T> extends AbstractRegistryEventListener { + /** Id attribute of the extension point. */ + public static final String ID_DESCRIPTOR_ATTR = "id"; //$NON-NLS-1$ + + /** Label attribute of extension point. */ + public static final String LABEL_DESCRIPTOR_ATTR = "label"; //$NON-NLS-1$ + + /** Description attribute of extension point. */ + public static final String DESCRIPTION_DESCRIPTOR_ATTR = "description"; //$NON-NLS-1$ + + /** Implementation class attribute of extension point. */ + public static final String IMPL_CLASS_DESCRIPTOR_ATTR = "class"; //$NON-NLS-1$ + + /** Descriptor tag of extension point. */ + public static final String TAG_DESCRIPTOR = "descriptor"; //$NON-NLS-1$ + + /** + * The item registry. + */ + private IItemRegistry<T> itemRegistry; + + /** + * The constructor. + * + * @param namespace + * The namespace of the extension point + * @param extensionPointID + * The identifier of the extension point + * @param itemRegistry + * The {@link IItemRegistry} + */ + public DescriptorRegistryEventListener(String namespace, String extensionPointID, IItemRegistry<T> itemRegistry) { + super(namespace, extensionPointID); + this.itemRegistry = itemRegistry; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.AbstractRegistryEventListener#validateConfigurationElement(org.eclipse.core.runtime.IConfigurationElement) + */ + @Override + protected boolean validateConfigurationElement(IConfigurationElement configurationElement) { + boolean isValid = false; + + if (TAG_DESCRIPTOR.equals(configurationElement.getName())) { + if (!this.isValidAttribute(configurationElement, ID_DESCRIPTOR_ATTR)) { + String message = MessageFormat.format(Messages.DescriptorRegistryEventListener_missingAttribute, + configurationElement.getNamespaceIdentifier(), ID_DESCRIPTOR_ATTR); + EEFIdePlugin.getImplementation().logError(message, null); + } else if (!this.isValidAttribute(configurationElement, LABEL_DESCRIPTOR_ATTR)) { + String message = MessageFormat.format(Messages.DescriptorRegistryEventListener_missingAttribute, + configurationElement.getNamespaceIdentifier(), LABEL_DESCRIPTOR_ATTR); + EEFIdePlugin.getImplementation().logError(message, null); + } else if (!this.isValidAttribute(configurationElement, DESCRIPTION_DESCRIPTOR_ATTR)) { + String message = MessageFormat.format(Messages.DescriptorRegistryEventListener_missingAttribute, + configurationElement.getNamespaceIdentifier(), DESCRIPTION_DESCRIPTOR_ATTR); + EEFIdePlugin.getImplementation().logError(message, null); + } else if (!this.isValidAttribute(configurationElement, IMPL_CLASS_DESCRIPTOR_ATTR)) { + String message = MessageFormat.format(Messages.DescriptorRegistryEventListener_missingAttribute, + configurationElement.getNamespaceIdentifier(), IMPL_CLASS_DESCRIPTOR_ATTR); + EEFIdePlugin.getImplementation().logError(message, null); + } else { + isValid = true; + } + } + + return isValid; + } + + /** + * Indicates if an attribute of the configuration element is valid. + * + * @param configurationElement + * The configuration element + * @param attributeName + * The attribute name + * @return <code>true</code> if the attribute is valid, <code>false</code> + * otherwise + */ + private boolean isValidAttribute(IConfigurationElement configurationElement, String attributeName) { + return configurationElement.getAttribute(attributeName) != null + && !"".equals(configurationElement.getAttribute(attributeName)); //$NON-NLS-1$ + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.AbstractRegistryEventListener#processAddition(org.eclipse.core.runtime.IConfigurationElement) + */ + @SuppressWarnings("unchecked") + @Override + protected boolean processAddition(IConfigurationElement configurationElement) { + String id = configurationElement.getAttribute(ID_DESCRIPTOR_ATTR); + String label = configurationElement.getAttribute(LABEL_DESCRIPTOR_ATTR); + String description = configurationElement.getAttribute(DESCRIPTION_DESCRIPTOR_ATTR); + + try { + T instance = (T) configurationElement.createExecutableExtension(IMPL_CLASS_DESCRIPTOR_ATTR); + + ItemDescriptor<T> descriptor = new ItemDescriptor<T>(id, label, description, instance); + IItemDescriptor<T> previous = this.itemRegistry.add(descriptor); + if (previous != null) { + String message = MessageFormat.format( + Messages.DescriptorRegistryEventListener_extensionAlreadyContributed, + configurationElement.getAttribute(ID_DESCRIPTOR_ATTR)); + EEFIdePlugin.getImplementation().logWarning(message, null); + } + } catch (CoreException e) { + String message = MessageFormat.format(Messages.DescriptorRegistryEventListener_cannotInstantiateExtension, + configurationElement.getAttribute(IMPL_CLASS_DESCRIPTOR_ATTR)); + EEFIdePlugin.getImplementation().logError(message, e); + + return false; + } + + return true; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.AbstractRegistryEventListener#processRemoval(org.eclipse.core.runtime.IConfigurationElement) + */ + @Override + protected boolean processRemoval(IConfigurationElement configurationElement) { + return this.itemRegistry.remove(configurationElement.getAttribute(ID_DESCRIPTOR_ATTR)) != null; + } + +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/ItemDescriptor.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/ItemDescriptor.java new file mode 100644 index 000000000..e10b91924 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/ItemDescriptor.java @@ -0,0 +1,104 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal.extensions.impl; + +import org.eclipse.eef.ide.internal.extensions.IItemDescriptor; + +/** + * The implementation of the {@link IItemDescriptor}. + * + * @author sbegaudeau + * + * @param <T> + * The type of the object described + */ +public class ItemDescriptor<T> implements IItemDescriptor<T> { + + /** + * The identifier. + */ + private String id; + + /** + * The label. + */ + private String label; + + /** + * The description. + */ + private String description; + + /** + * The instance. + */ + private T instance; + + /** + * The constructor. + * + * @param id + * The identifier + * @param label + * The label + * @param description + * The description + * @param instance + * The instance + */ + public ItemDescriptor(String id, String label, String description, T instance) { + this.id = id; + this.label = label; + this.description = description; + this.instance = instance; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemDescriptor#getID() + */ + @Override + public String getID() { + return this.id; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemDescriptor#getLabel() + */ + @Override + public String getLabel() { + return this.label; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemDescriptor#getDescription() + */ + @Override + public String getDescription() { + return this.description; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemDescriptor#getItem() + */ + @Override + public T getItem() { + return this.instance; + } + +} diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/ItemRegistry.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/ItemRegistry.java new file mode 100644 index 000000000..9404de4c6 --- /dev/null +++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/internal/extensions/impl/ItemRegistry.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.eef.ide.internal.extensions.impl; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.eef.ide.internal.extensions.IItemDescriptor; +import org.eclipse.eef.ide.internal.extensions.IItemRegistry; + +/** + * The implementation of the {@link IItemRegistry}. + * + * @author sbegaudeau + * + * @param <T> + * The type of the object described + */ +public class ItemRegistry<T> implements IItemRegistry<T> { + + /** + * The map of the identifier of the description to the + * {@link IItemDescriptor}. + */ + private Map<String, IItemDescriptor<T>> id2descriptors = new HashMap<String, IItemDescriptor<T>>(); + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemRegistry#getItemDescriptors() + */ + @Override + public List<IItemDescriptor<T>> getItemDescriptors() { + List<IItemDescriptor<T>> descriptors = new ArrayList<IItemDescriptor<T>>(); + Collection<IItemDescriptor<T>> values = this.id2descriptors.values(); + for (IItemDescriptor<T> iItemDescriptor : values) { + descriptors.add(iItemDescriptor); + } + return descriptors; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemRegistry#getItemDescriptor(java.lang.String) + */ + @Override + public IItemDescriptor<T> getItemDescriptor(String id) { + return this.id2descriptors.get(id); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemRegistry#add(org.eclipse.eef.ide.internal.extensions.IItemDescriptor) + */ + @Override + public IItemDescriptor<T> add(IItemDescriptor<T> descriptor) { + return this.id2descriptors.put(descriptor.getID(), descriptor); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemRegistry#remove(java.lang.String) + */ + @Override + public IItemDescriptor<T> remove(String id) { + return this.id2descriptors.remove(id); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.eef.ide.internal.extensions.IItemRegistry#clear() + */ + @Override + public void clear() { + this.id2descriptors.clear(); + } + +} diff --git a/plugins/org.eclipse.eef/.checkstyle b/plugins/org.eclipse.eef/.checkstyle new file mode 100644 index 000000000..f1a81eec7 --- /dev/null +++ b/plugins/org.eclipse.eef/.checkstyle @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> + <local-check-config name="EEF" location="/org.eclipse.eef.releng/codestyle/EEFCheckstyleConfiguration.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </local-check-config> + <fileset name="all" enabled="true" check-config-name="EEF" local="true"> + <file-match-pattern match-pattern="." include-pattern="true"/> + </fileset> + <filter name="FilesFromPackage" enabled="true"> + <filter-data value="src-gen"/> + </filter> +</fileset-config> diff --git a/plugins/org.eclipse.eef/.classpath b/plugins/org.eclipse.eef/.classpath new file mode 100644 index 000000000..42271a8c6 --- /dev/null +++ b/plugins/org.eclipse.eef/.classpath @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src-gen"> + <attributes> + <attribute name="ignore_optional_problems" value="true"/> + </attributes> + </classpathentry> + <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.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.eef/.project b/plugins/org.eclipse.eef/.project new file mode 100644 index 000000000..a8fd05ed6 --- /dev/null +++ b/plugins/org.eclipse.eef/.project @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.eef</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <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>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.sirius.nature.modelingproject</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.eef/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.eef/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fb8257839 --- /dev/null +++ b/plugins/org.eclipse.eef/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,398 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.builder.cleanOutputFolder=clean +org.eclipse.jdt.core.builder.duplicateResourceTask=warning +org.eclipse.jdt.core.builder.invalidClasspath=abort +org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore +org.eclipse.jdt.core.builder.resourceCopyExclusionFilter= +org.eclipse.jdt.core.circularClasspath=error +org.eclipse.jdt.core.classpath.exclusionPatterns=enabled +org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled +org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=error +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=error +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.jo |