diff options
author | Stéphane Bégaudeau | 2015-10-05 15:30:03 +0000 |
---|---|---|
committer | Stéphane Bégaudeau | 2015-10-19 13:30:19 +0000 |
commit | 7d264bb9d3fdee55ade5c86084f61796d71a8cd4 (patch) | |
tree | 4ee4a7590dd4e5e89a4bec6a24a4932d26ce75db /doc | |
parent | 138e2f81cb0a37b723e1f8d68d894ebda98bc1dd (diff) | |
download | org.eclipse.eef-7d264bb9d3fdee55ade5c86084f61796d71a8cd4.tar.gz org.eclipse.eef-7d264bb9d3fdee55ade5c86084f61796d71a8cd4.tar.xz org.eclipse.eef-7d264bb9d3fdee55ade5c86084f61796d71a8cd4.zip |
First version of the EEF 2.0 runtime
Change-Id: I4c4c55411422278c8d3e298bc5136011341bac94
Signed-off-by: Stéphane Bégaudeau <stephane.begaudeau@obeo.fr>
Diffstat (limited to 'doc')
59 files changed, 1912 insertions, 0 deletions
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..4f4bc13b0 --- /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: 1.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/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..eb652fbb5 --- /dev/null +++ b/doc/org.eclipse.eef.documentation/userstories/US-16.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.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" + contextCandidatesExpression=""/> + <columns + headerExpression="aql:'EType'" + cellWidget="//@groups.0/@container/@widgets.2" + contextCandidatesExpression=""/> + <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/doc/org.eclipse.sirius.expression.design/.classpath b/doc/org.eclipse.sirius.expression.design/.classpath new file mode 100644 index 000000000..39810b7d6 --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/doc/org.eclipse.sirius.expression.design/.project b/doc/org.eclipse.sirius.expression.design/.project new file mode 100644 index 000000000..ba1d71323 --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/.project @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.sirius.expression.design</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> + diff --git a/doc/org.eclipse.sirius.expression.design/META-INF/MANIFEST.MF b/doc/org.eclipse.sirius.expression.design/META-INF/MANIFEST.MF new file mode 100644 index 000000000..b9132d898 --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: org.eclipse.sirius.expression.design +Bundle-SymbolicName: org.eclipse.sirius.expression.design;singleton:=true +Bundle-Version: 1.0.0 +Bundle-Activator: org.eclipse.sirius.expression.design.Activator +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.sirius, + org.eclipse.sirius.common.acceleo.mtl +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/doc/org.eclipse.sirius.expression.design/about.html b/doc/org.eclipse.sirius.expression.design/about.html new file mode 100644 index 000000000..f3a55ce5f --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/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.sirius.expression.design/build.properties b/doc/org.eclipse.sirius.expression.design/build.properties new file mode 100644 index 000000000..bbbc4ce49 --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/build.properties @@ -0,0 +1,7 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + description/,\ + plugin.xml +customBuildCallbacks = build.acceleo diff --git a/doc/org.eclipse.sirius.expression.design/description/expression.odesign b/doc/org.eclipse.sirius.expression.design/description/expression.odesign new file mode 100644 index 000000000..e76d4b847 --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/description/expression.odesign @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:description_2="http://www.eclipse.org/sirius/table/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" name="expression" version="10.0.0.201505222000"> + <ownedViewpoints name="Design"> + <ownedRepresentations xsi:type="description_1:DiagramDescription" name="Design" domainClass="expression.ExpressionPackage" enablePopupBars="true"> + <metamodel href="../../org.eclipse.sirius.expression/model/expression.ecore#/"/> + <metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/> + <defaultLayer name="Default"> + <edgeMappings name="Expressions" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='ExpressionClass']/@subContainerMappings[name='ExpressionDescription']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='EClass']/@subNodeMappings[name='Expression']" targetFinderExpression="feature:expression"> + <style sizeComputationExpression="2"> + <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> + <centerLabelStyleDescription> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + </style> + </edgeMappings> + <containerMappings name="ExpressionClass" semanticCandidatesExpression="feature:expressionClasses" domainClass="expression.ExpressionClass"> + <subContainerMappings name="ExpressionDescription" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@toolSections.0/@ownedTools[name='ExpressionDescriptionEdit']" semanticCandidatesExpression="feature:expressionDescriptions" domainClass="expression.ExpressionDescription"> + <style xsi:type="style:FlatContainerStyleDescription" showIcon="false" labelExpression="aql:self.label + '['+ self.lowerBound+'..'+self.upperBound+']:'+self.returnType.name"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_blue']"/> + </style> + </subContainerMappings> + <subContainerMappings name="Variable" labelDirectEdit="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@additionalLayers[name='Variables']/@toolSections.0/@ownedTools[name='VariableEdit']" semanticCandidatesExpression="feature:variables" domainClass="expression.Variable"> + <style xsi:type="style:FlatContainerStyleDescription" showIcon="false"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_green']"/> + </style> + </subContainerMappings> + <style xsi:type="style:FlatContainerStyleDescription" showIcon="false" labelExpression="feature:label"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/> + </style> + </containerMappings> + <containerMappings name="EClass" semanticCandidatesExpression="aql:self.ePackage.eClassifiers->filter(ecore::EClass)" domainClass="ecore.EClass"> + <subNodeMappings name="Expression" semanticCandidatesExpression="aql:self.eAllContents(ecore::EAttribute)->select(e|e.name.contains('Expression'))" domainClass="ecore.EAttribute"> + <style xsi:type="style:SquareDescription" showIcon="false" sizeComputationExpression="5" labelPosition="node" resizeKind="NSEW"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='purple']"/> + </style> + </subNodeMappings> + <style xsi:type="style:FlatContainerStyleDescription"> + <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/> + <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_orange']"/> + </style> + </containerMappings> + <toolSections> + <ownedTools xsi:type="tool:ContainerCreationDescription" name="ExpressionClassCreate" label="ExpressionClass" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='ExpressionClass']" extraMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='EClass']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:containerView.eContainer().target"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="expression.ExpressionClass" referenceName="expressionClasses"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="aql:containerView.target.name"/> + </subModelOperations> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:ContainerCreationDescription" name="ExpressionDescriptionCreate" label="ExpressionDescription" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='ExpressionClass']/@subContainerMappings[name='ExpressionDescription']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="expression.ExpressionDescription" referenceName="expressionDescriptions"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="ExpressionDescriptionEdit"> + <mask mask="{0}[{1}..{2}]:{3}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="var:arg0"/> + <subModelOperations xsi:type="tool_1:SetValue" featureName="lowerBound" valueExpression="var:arg1"/> + <subModelOperations xsi:type="tool_1:SetValue" featureName="upperBound" valueExpression="var:arg2"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:EdgeCreationDescription" name="ExpressionDescriptionToExpression" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@edgeMappings[name='Expressions']"> + <sourceVariable name="source"/> + <targetVariable name="target"/> + <sourceViewVariable name="sourceView"/> + <targetViewVariable name="targetView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="expression" valueExpression="var:target"/> + <subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="aql:target.name"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + </toolSections> + </defaultLayer> + <additionalLayers name="Variables"> + <edgeMappings name="Variables" sourceMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='ExpressionClass']/@subContainerMappings[name='ExpressionDescription']" targetMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='ExpressionClass']/@subContainerMappings[name='Variable']" targetFinderExpression="feature:variables"> + <style sizeComputationExpression="2"> + <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/> + <centerLabelStyleDescription> + <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </centerLabelStyleDescription> + </style> + </edgeMappings> + <toolSections> + <ownedTools xsi:type="tool:EdgeCreationDescription" name="ExpressionToVariable" edgeMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@additionalLayers[name='Variables']/@edgeMappings[name='Variables']"> + <sourceVariable name="source"/> + <targetVariable name="target"/> + <sourceViewVariable name="sourceView"/> + <targetViewVariable name="targetView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="variables" valueExpression="var:target"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:ContainerCreationDescription" name="VariableCreate" label="Variable" containerMappings="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Design']/@defaultLayer/@containerMappings[name='ExpressionClass']/@subContainerMappings[name='Variable']"> + <variable name="container"/> + <viewVariable name="containerView"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container"> + <subModelOperations xsi:type="tool_1:CreateInstance" typeName="expression.Variable" referenceName="variables"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + <ownedTools xsi:type="tool:DirectEditLabel" name="VariableEdit"> + <mask mask="{0}"/> + <initialOperation> + <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/> + </firstModelOperations> + </initialOperation> + </ownedTools> + </toolSections> + </additionalLayers> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_2:CrossTableDescription" name="ExpressionToVariables" domainClass="expression.ExpressionPackage"> + <metamodel href="../../org.eclipse.sirius.expression/model/expression.ecore#/"/> + <ownedLineMappings name="ExpressionClass" domainClass="expression.ExpressionClass" semanticCandidatesExpression="feature:expressionClasses" headerLabelExpression="feature:label"> + <ownedSubLines name="ExpressionDescription" domainClass="expression.ExpressionDescription" semanticCandidatesExpression="feature:expressionDescriptions" headerLabelExpression="feature:label"/> + </ownedLineMappings> + <ownedColumnMappings name="Variables" headerLabelExpression="aql:self.eContainer().label+'\n'+self.name" initialWidth="100" domainClass="expression.Variable"/> + <intersection name="Variables" lineMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='ExpressionToVariables']/@ownedLineMappings[name='ExpressionClass']/@ownedSubLines[name='ExpressionDescription']" columnMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='ExpressionToVariables']/@ownedColumnMappings.0" labelExpression="x" columnFinderExpression="feature:variables"> + <directEdit> + <variables name="element" documentation="The currently edited element."/> + <variables name="lineSemantic" documentation="The semantic element corresponding to the line."/> + <variables name="columnSemantic" documentation="The semantic element corresponding to the column (only available for Intersection Mapping)."/> + <variables name="root" documentation="The semantic element of the table."/> + <firstModelOperation xsi:type="tool_1:ChangeContext" browseExpression="var:lineSemantic"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:arg0<>''"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="variables" valueExpression="var:columnSemantic"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:arg0=''"> + <subModelOperations xsi:type="tool_1:Unset" featureName="variables" elementExpression="var:columnSemantic"/> + </subModelOperations> + </firstModelOperation> + <mask mask="{0}"/> + </directEdit> + </intersection> + </ownedRepresentations> + <ownedRepresentations xsi:type="description_2:CrossTableDescription" name="ExpressionToContextableElements" domainClass="expression.ExpressionPackage"> + <metamodel href="../../org.eclipse.sirius.expression/model/expression.ecore#/"/> + <metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/> + <ownedLineMappings name="ExpressionClass" domainClass="expression.ExpressionClass" semanticCandidatesExpression="feature:expressionClasses" headerLabelExpression="feature:label"> + <ownedSubLines name="ExpressionDescription" domainClass="expression.ExpressionDescription" semanticCandidatesExpression="feature:expressionDescriptions" headerLabelExpression="feature:label"/> + </ownedLineMappings> + <ownedColumnMappings name="ContextableElement" headerLabelExpression="feature:name" domainClass="ecore.EClass" semanticCandidatesExpression="aql:self.ePackage.eClassifiers->filter(ecore::EClass)"/> + <intersection name="ContextableElements" lineMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='ExpressionToContextableElements']/@ownedLineMappings[name='ExpressionClass']/@ownedSubLines[name='ExpressionDescription']" columnMapping="//@ownedViewpoints[name='Design']/@ownedRepresentations[name='ExpressionToContextableElements']/@ownedColumnMappings.0" labelExpression="x" columnFinderExpression="aql:self.contextableElements"> + <directEdit> + <variables name="element" documentation="The currently edited element."/> + <variables name="lineSemantic" documentation="The semantic element corresponding to the line."/> + <variables name="columnSemantic" documentation="The semantic element corresponding to the column (only available for Intersection Mapping)."/> + <variables name="root" documentation="The semantic element of the table."/> + <firstModelOperation xsi:type="tool_1:ChangeContext" browseExpression="var:lineSemantic"> + <subModelOperations xsi:type="tool_1:If" conditionExpression="[arg0<>''/]"> + <subModelOperations xsi:type="tool_1:SetValue" featureName="contextableElements" valueExpression="var:columnSemantic"/> + </subModelOperations> + <subModelOperations xsi:type="tool_1:If" conditionExpression="[arg0=''/]"> + <subModelOperations xsi:type="tool_1:Unset" featureName="contextableElements" elementExpression="var:columnSemantic"/> + </subModelOperations> + </firstModelOperation> + <mask mask="{0}"/> + </directEdit> + </intersection> + </ownedRepresentations> + <ownedJavaExtensions/> + </ownedViewpoints> +</description:Group> diff --git a/doc/org.eclipse.sirius.expression.design/plugin.xml b/doc/org.eclipse.sirius.expression.design/plugin.xml new file mode 100644 index 000000000..5ecb2c479 --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/plugin.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension point="org.eclipse.sirius.componentization"> + <component class="org.eclipse.sirius.expression.design.Activator" + id="org.eclipse.sirius.expression.design" + name="expression"> + </component> + </extension> +</plugin> diff --git a/doc/org.eclipse.sirius.expression.design/src/org/eclipse/sirius/expression/design/Activator.java b/doc/org.eclipse.sirius.expression.design/src/org/eclipse/sirius/expression/design/Activator.java new file mode 100644 index 000000000..f4b15886c --- /dev/null +++ b/doc/org.eclipse.sirius.expression.design/src/org/eclipse/sirius/expression/design/Activator.java @@ -0,0 +1,66 @@ +package org.eclipse.sirius.expression.design; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.sirius.business.api.componentization.ViewpointRegistry; +import org.eclipse.sirius.viewpoint.description.Viewpoint; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.sirius.expression.design"; + + // The shared instance + private static Activator plugin; + + private static Set<Viewpoint> viewpoints; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + viewpoints = new HashSet<Viewpoint>(); + viewpoints.addAll(ViewpointRegistry.getInstance().registerFromPlugin(PLUGIN_ID + "/description/expression.odesign")); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + if (viewpoints != null) { + for (final Viewpoint viewpoint: viewpoints) { + ViewpointRegistry.getInstance().disposeFromPlugin(viewpoint); + } + viewpoints.clear(); + viewpoints = null; + } + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } +} |