diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..7e88ffbc4d069b560664649d29bbf47e7cd0b6d6 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="model"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project new file mode 100644 index 0000000000000000000000000000000000000000..f8641fdfe33eedc21916f5370ba8c25a89c5fee0 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram</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.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..49a51a15a398d0d92a0ccba659e197a27b6ce26d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF @@ -0,0 +1,35 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; singleton:=true +Bundle-Activator: edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.emf.ecore, + org.eclipse.graphiti;bundle-version="0.8.0", + org.eclipse.graphiti.mm;bundle-version="0.8.0", + org.eclipse.graphiti.pattern;bundle-version="0.8.0", + org.eclipse.graphiti.ui;bundle-version="0.8.0", + org.eclipse.graphiti.ui.capabilities;bundle-version="0.8.0", + org.eclipselabs.spray.runtime.graphiti, + org.eclipselabs.spray.shapes, + org.eclipselabs.spray.styles, + org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.200", + org.eclipse.emf;bundle-version="2.6.0", + org.eclipse.emf.transaction;bundle-version="1.4.0", + com.google.guava;bundle-version="10.0.1", + com.google.inject;bundle-version="3.0.0", + javax.inject;bundle-version="1.0.0", + edu.kit.ipd.descartes.mm.applicationlevel +Import-Package: org.apache.log4j, + org.apache.commons.logging, + org.eclipse.xtext.xbase.lib, + org.eclipse.xtext.service, + org.eclipse.xtext.ui.editor, + org.eclipse.xtext.ui.guice, + org.eclipse.xtext.ui.resource, + org.eclipse.xtext.util +Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape new file mode 100644 index 0000000000000000000000000000000000000000..5bdca8bb9f7bfc02647d7e3047f41fd8aa99e4c4 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Spray shapes definition + * + * This file contains the definition of graphical figures using the Shapes Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ +// Add import statements here, e.g. +// import java.util.* + +// Add definition of shapes here. +// shape RectangleShape { +// rectangle { +// position(x=0,y=0) +// size(width=100,height=100) +// } +// } + +shape CompositeShape { + rectangle { + compartment( + layout=vertical + spacing = 5 + margin = 5 + id = context + ) + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = classText + } + } +} + +shape RectShape { + rectangle { + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = rectText + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray new file mode 100644 index 0000000000000000000000000000000000000000..7203fdd1c74cc5669fedc69b17d264e272684bb6 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray @@ -0,0 +1,60 @@ +/************************************************************************************* + * + * Spray diagram definition + * + * This file contains the definition of a graphical editor using the Spray Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + * + * See also compositediagram.properties to configure generator properties. + *************************************************************************************/ +// Add import statements here +import repository.* + +diagram compositediagram for Repository style CompositediagramDefaultStyle + +// Add class mappings here. Refer to EClasses here. Don't forget to configure a +// dependency to the plugin defining the EMF metamodel in META-INF/MANIFEST.MF. +// It is required to have a genmodel for the metamodel. If the Ecore model lies in +// a workspace project, this project must have the Xtext nature. +// +// Example class mapping: +// class BusinessClass icon "ecore/EClass.gif" { +// container ( fill=yellow ) +// { +// text ( ) { "<<"+eClass.name+">> " + name}; +// line ( color=black width=2) +// } +// behavior { +// // Enable create feature for this class and add it to the palette "Shapes" +// create into types palette "Shapes"; +// } +// } +// +// Example association mapping: +// class Association icon "connection16.gif" { +// connection ( ) { +// from source; +// to target; +// fromText "source " + source.name +// } +// } + +class CompositeComponent { + shape CompositeShape { + name into classText + reference assemblyContexts into context + } + behavior { + create into components palette "Components" + } +} + +class AssemblyContext { + shape RectShape { + name into rectText + } + behavior { + create palette "Context" + } +} + diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style new file mode 100644 index 0000000000000000000000000000000000000000..553a14c1e957e4ba6642257cb3c812251a003739 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style @@ -0,0 +1,21 @@ +/************************************************************************************* + * + * Spray styles definition + * + * This file contains the definition of style classes using the Styles Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ + +// Add definition of styles here. +style CompositediagramDefaultStyle { + description = "The default style of the compositediagram diagram type." + // transparency = 0.95 + // background-color = black + // line-color = black + // line-style = solid + // line-width = 1 + // font-color = black + // font-name = "Tahoma" + font-size = 12 + // font-bold = yes +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.class new file mode 100644 index 0000000000000000000000000000000000000000..c4334cb9b49fe66101bcd6464a1989f0eac22c88 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.class new file mode 100644 index 0000000000000000000000000000000000000000..0b81b11fc52147e77c38611850634b8a61486910 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.class new file mode 100644 index 0000000000000000000000000000000000000000..220c09cda955b0daa9e08f9daf5725de8bcf4292 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..a2bf6190b7fe5bf309c8ee5a95e843016009d7e1 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..fb8abf255f15cde81718f4ce898a154dd452dc2f Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..28504d83fcfe7e250778b40536317b22c4c5364c Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..830c0b7b36f9514a63cdb1f62a72cc89b422c564 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..29cd0f1d6ef1be706e241f8e6ff0a6b7fcccb65f Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..885836dad68c66a4ced601a4f5d640225eb8dffe Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.class new file mode 100644 index 0000000000000000000000000000000000000000..6a612a0f81a6e56d89b801e08dc88a6a7b060519 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..ceaa3759e4c0fc75b10c03500842481ac4967cf6 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..fdaf0352b5586efbcf34f7ec2201e1820c10a229 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..fee9ae64080458572ef70028015dc2cf81f99fb0 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..f7036e31832108c26ce3ebccf1b67b767bd8840d Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..90b2dabc63930680fb3a0ea817df96db24d5bc53 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..6ec070ef5824e3bcfcaadec2a2edf984479ea6e5 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..2e14c01c53ba8208864c065412ccc02aeeebc738 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..574a68658b237d01026b4afbe58f323d72889322 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..f7b8be07b3b4eb1944722c9fdcc170eeab4fa96a Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..ce068ce5d33e3055c23aaa35d12efe0fcbd9318d Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..5ca95d6580c3ea20acaaad546c0ada3fe0eac7d8 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..977e19ab4e9307e1a5bc2c03121df5430e5ff197 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..1512ae4e83baa57ae5c47450bbb88faf781e0637 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..b74ce7560971bcd880e331f13f344df70046e99c Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..be6aee997de2e8818f44ebe48e7c0d0cdb935510 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..b7a7881d64595551bd7f56a2e0c291fb0e10ddbd Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..41d6dfe3b4821b59d5d5fc80cfa7e6f2d6c93ffc Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..8f8f618d5977075f6c21e9df7f35029d4f029b49 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..345eba2c29c201a0e254925c513151fe0cafbb47 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..658f25ba2fd0ca0e5af6ffc53f78f1c098add6f7 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..5011f16f2ea86cdd653247694e9a70b6c56e86c4 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..216d6df3cafe546d3d16191a46ce90906a6feff0 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..0e377fc63f405e3c60a9a08cd7d44a8872aaacf1 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..57d5e6de3f50c46df910f717fcc7d6bf441653c0 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..59dc7207d4242a5a4d6e41556cc13e123e2436ce Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..22929b5452ab2a865df3f2ebc42d76509286a9c1 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..679e1e12999a48cd825a019a3e2f44f5cc371c8d Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase$ResizeConfiguration_RectShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase$ResizeConfiguration_RectShape.class new file mode 100644 index 0000000000000000000000000000000000000000..dd6635a2a2dce66239144359405617ab810849b6 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase$ResizeConfiguration_RectShape.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..cd277709e2449379335848639b2e63ee95d6e16d Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..44d4db76d29d45c59d3eaf9830a0edd6a5ae2d6a Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase$ResizeConfiguration_CompositeShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase$ResizeConfiguration_CompositeShape.class new file mode 100644 index 0000000000000000000000000000000000000000..d4b1d935d888e5097a11da28ab1d9741e61558c4 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase$ResizeConfiguration_CompositeShape.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..2e33224d4570818cde54e09833ccf737070881a0 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..6f239414b739a43819e5be868baa713123e8cc68 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..57c3f27069fa54f30d4e5ae8b493d5d24a48e6cd Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..168ac1c31e81547ece0b17184c0cfd41676dde2a Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..f846a1a8944080acfe230e5f6a826554ec77af78 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..103503171bd6a2108bacd1b954e05a5f21022df8 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..62104ad62a4b3830818ca07caeb9786b173564c6 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.class new file mode 100644 index 0000000000000000000000000000000000000000..758098e36482f8a5070a52112d1195073f3c097c Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.class new file mode 100644 index 0000000000000000000000000000000000000000..661acabd0585eca368333b93dadda883a1957b28 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..90de490a9905856d97af20fd3a85b9c570e8d9e7 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..82374732f124acbe635b38e9e3984f20be78d11a Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..9a0ae7496699cae4ff448256b3bb729b1311c55f Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.class new file mode 100644 index 0000000000000000000000000000000000000000..c841893d5db6fc1e8ce5bff8a5d4aa4913e61ff8 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1cd98b3ddb25f36442098f68e0454ba494dedae9 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..71bd07f7a1a6bd4c44677d57fbc37b13604067d0 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..4d511579d950261c371e25947a8c854cce0d4de3 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..9ddce7a635da0b8cc8c0a10a66a9a00b13df4728 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.class new file mode 100644 index 0000000000000000000000000000000000000000..6582f5e636dda8c136bdd3ba7968ccc5a328d177 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.class new file mode 100644 index 0000000000000000000000000000000000000000..589a2fd83abdb637b173a52f33a26aeb1a4b4be9 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f721d02abc8446dcad02c366a86f26435a55238b Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..eb43cb24bc06fa88a7223d1d2aa017452fd21a52 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..4f10fc077b802c080a99a7099bd4735222f7132b Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.class new file mode 100644 index 0000000000000000000000000000000000000000..f17b01dfe3c653560dc7df76e57f3a177af36c91 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c996b5f2d2c386734c50c3d3ab58f6b9013d0feb Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..871bbca965956a2f63bcecee4cd3d308975c02fd Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..25f2b4b85a9399eb43693991ddb2a6bc43f6c222 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape$TextIds.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape$TextIds.class new file mode 100644 index 0000000000000000000000000000000000000000..7f3699da93eb08d1dbf68288654c87f9b7f6bd5f Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape$TextIds.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.class new file mode 100644 index 0000000000000000000000000000000000000000..9b004ad139f77824fcebe1928e7b92d22959dc09 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape$TextIds.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape$TextIds.class new file mode 100644 index 0000000000000000000000000000000000000000..7708724989b035e223e3547d4c8701e8e05f9bbf Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape$TextIds.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.class new file mode 100644 index 0000000000000000000000000000000000000000..e276e4a2c98b56ae3220732d7c5bf296b7d9274c Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.class new file mode 100644 index 0000000000000000000000000000000000000000..98624e32caee3cf10d47ee34708f2505a169c89f Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.class differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties new file mode 100644 index 0000000000000000000000000000000000000000..20699eefe1f590497e9952d65377195dddd834d9 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties @@ -0,0 +1,17 @@ +modelFileExtension = repository +pluginId = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +mainPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +diagramPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram +featurePackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features +propertyPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property +stylesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles +gradientsPackage= edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.gradients +shapesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes +utilPackage = org.eclipselabs.spray.runtime.graphiti.containers + +srcManPath = src +srcGenPath = src-gen +resourceManPath = resource +resourceGenPath = resource-gen +projectPath = ./edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +headerTimestamp = true diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..7145833457bf8ad480ac730517de663e996f1e26 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties @@ -0,0 +1,7 @@ +source.. = src/,\ + src-gen/,\ + model/ +bin.includes = META-INF/,\ + plugin.xml,\ + icons/,\ + model/ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..68897e2e942f8f5282c4a0569b6f3acf4e65b958 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt @@ -0,0 +1 @@ +Place your image resources here. diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/connection16.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/connection16.gif new file mode 100644 index 0000000000000000000000000000000000000000..186a12726a554815fcbdb78fa950de9a9c26b154 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/connection16.gif differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EAttribute.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EAttribute.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc9944a7d53cc29a1aeb60ee16be2a29fbe0aacb Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EAttribute.gif differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EClass.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EClass.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b8da630d851f42d11457ee5b593ba6c4174ed22 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EClass.gif differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EReference.gif new file mode 100644 index 0000000000000000000000000000000000000000..88cdf2ad85049bb0a4a11fa8dcd13a2a78a0f0d0 Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EReference.gif differ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape new file mode 100644 index 0000000000000000000000000000000000000000..5bdca8bb9f7bfc02647d7e3047f41fd8aa99e4c4 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Spray shapes definition + * + * This file contains the definition of graphical figures using the Shapes Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ +// Add import statements here, e.g. +// import java.util.* + +// Add definition of shapes here. +// shape RectangleShape { +// rectangle { +// position(x=0,y=0) +// size(width=100,height=100) +// } +// } + +shape CompositeShape { + rectangle { + compartment( + layout=vertical + spacing = 5 + margin = 5 + id = context + ) + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = classText + } + } +} + +shape RectShape { + rectangle { + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = rectText + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray new file mode 100644 index 0000000000000000000000000000000000000000..7203fdd1c74cc5669fedc69b17d264e272684bb6 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray @@ -0,0 +1,60 @@ +/************************************************************************************* + * + * Spray diagram definition + * + * This file contains the definition of a graphical editor using the Spray Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + * + * See also compositediagram.properties to configure generator properties. + *************************************************************************************/ +// Add import statements here +import repository.* + +diagram compositediagram for Repository style CompositediagramDefaultStyle + +// Add class mappings here. Refer to EClasses here. Don't forget to configure a +// dependency to the plugin defining the EMF metamodel in META-INF/MANIFEST.MF. +// It is required to have a genmodel for the metamodel. If the Ecore model lies in +// a workspace project, this project must have the Xtext nature. +// +// Example class mapping: +// class BusinessClass icon "ecore/EClass.gif" { +// container ( fill=yellow ) +// { +// text ( ) { "<<"+eClass.name+">> " + name}; +// line ( color=black width=2) +// } +// behavior { +// // Enable create feature for this class and add it to the palette "Shapes" +// create into types palette "Shapes"; +// } +// } +// +// Example association mapping: +// class Association icon "connection16.gif" { +// connection ( ) { +// from source; +// to target; +// fromText "source " + source.name +// } +// } + +class CompositeComponent { + shape CompositeShape { + name into classText + reference assemblyContexts into context + } + behavior { + create into components palette "Components" + } +} + +class AssemblyContext { + shape RectShape { + name into rectText + } + behavior { + create palette "Context" + } +} + diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style new file mode 100644 index 0000000000000000000000000000000000000000..553a14c1e957e4ba6642257cb3c812251a003739 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style @@ -0,0 +1,21 @@ +/************************************************************************************* + * + * Spray styles definition + * + * This file contains the definition of style classes using the Styles Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ + +// Add definition of styles here. +style CompositediagramDefaultStyle { + description = "The default style of the compositediagram diagram type." + // transparency = 0.95 + // background-color = black + // line-color = black + // line-style = solid + // line-width = 1 + // font-color = black + // font-name = "Tahoma" + font-size = 12 + // font-bold = yes +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties new file mode 100644 index 0000000000000000000000000000000000000000..20699eefe1f590497e9952d65377195dddd834d9 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties @@ -0,0 +1,17 @@ +modelFileExtension = repository +pluginId = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +mainPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +diagramPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram +featurePackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features +propertyPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property +stylesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles +gradientsPackage= edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.gradients +shapesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes +utilPackage = org.eclipselabs.spray.runtime.graphiti.containers + +srcManPath = src +srcGenPath = src-gen +resourceManPath = resource +resourceGenPath = resource-gen +projectPath = ./edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +headerTimestamp = true diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg new file mode 100644 index 0000000000000000000000000000000000000000..d860338396073504b12850e3cf8786a5060da75e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no" ?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg width="110" height="55" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>Shape: CompositeShape</title> + <metadata> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <rdf:Description rdf:about="http://code.google.com/a/eclipselabs.org/p/spray/"> + <dc:creator>org.eclipselabs.spray.shapes.generator.GeneratorSVGDefinition</dc:creator> + <dc:subject>Spray SVG Shape</dc:subject> + <dc:source>http://code.google.com/a/eclipselabs.org/p/spray/</dc:source> + <dc:format>image/svg+xml</dc:format> + <dc:type>Image</dc:type> + </rdf:Description> + </rdf:RDF> + </metadata> +<defs> + <style type="text/css"> <![CDATA[ + rect {fill: none; stroke:black; stroke-width:1px} + line {fill: none; stroke:black; stroke-width:1px} + polyline {fill: none; stroke:black; stroke-width:1px} + polygon {fill: none; stroke:black; stroke-width:1px} + circle {fill: none; stroke:black; stroke-width:1px} + ellipse {fill: none; stroke:black; stroke-width:1px} + text {fill: black; font-family: verdana,sans-serif; font-size:12px;} + .default {fill: none; stroke:black; stroke-width:1px} + ]]> + </style> + <rect id="anchor" style="fill:#a0c0e8" width="5" height="5"/> +</defs> +<rect x="0" y="0" width="100" height="25"/> +<text x="5" y="25">#classText</text> +</svg> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg new file mode 100644 index 0000000000000000000000000000000000000000..da7f6f21b363598876772e76b966d0f9a1512f94 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no" ?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg width="110" height="55" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>Shape: RectShape</title> + <metadata> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <rdf:Description rdf:about="http://code.google.com/a/eclipselabs.org/p/spray/"> + <dc:creator>org.eclipselabs.spray.shapes.generator.GeneratorSVGDefinition</dc:creator> + <dc:subject>Spray SVG Shape</dc:subject> + <dc:source>http://code.google.com/a/eclipselabs.org/p/spray/</dc:source> + <dc:format>image/svg+xml</dc:format> + <dc:type>Image</dc:type> + </rdf:Description> + </rdf:RDF> + </metadata> +<defs> + <style type="text/css"> <![CDATA[ + rect {fill: none; stroke:black; stroke-width:1px} + line {fill: none; stroke:black; stroke-width:1px} + polyline {fill: none; stroke:black; stroke-width:1px} + polygon {fill: none; stroke:black; stroke-width:1px} + circle {fill: none; stroke:black; stroke-width:1px} + ellipse {fill: none; stroke:black; stroke-width:1px} + text {fill: black; font-family: verdana,sans-serif; font-size:12px;} + .default {fill: none; stroke:black; stroke-width:1px} + ]]> + </style> + <rect id="anchor" style="fill:#a0c0e8" width="5" height="5"/> +</defs> +<rect x="0" y="0" width="100" height="25"/> +<text x="5" y="25">#rectText</text> +</svg> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java new file mode 100644 index 0000000000000000000000000000000000000000..fa1eb2512c9e8007fcdde03d67517ef4822cda0f --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java @@ -0,0 +1,70 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PluginActivator.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.util.Modules2; +import org.eclipselabs.spray.runtime.graphiti.GraphitiRuntimeModule; +import org.osgi.framework.BundleContext; + +import com.google.inject.Guice; +import com.google.inject.Injector; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + private Injector injector; + + // The plug-in ID + public static final String PLUGIN_ID = "spray"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /* + * (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; + injector = createInjector(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + protected Injector createInjector() { + return Guice.createInjector(Modules2.mixin(new GraphitiRuntimeModule(), new CompositediagramModule())); + } + + public final Injector getInjector() { + return injector; + } + + public static final <T> T get(Class<T> type) { + return getDefault().getInjector().getInstance(type); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java new file mode 100644 index 0000000000000000000000000000000000000000..d6170b6191bfe87dfa8adf749d4bb7b45f8380fd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java @@ -0,0 +1,19 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray GuiceModule.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; + +public class CompositediagramModule extends CompositediagramModuleBase { + // Add custom bindings here + // public Class<? extends MyInterface> bindMyInterface () { + // return MyInterfaceImpl.class; + // } + // + // Get instances through the Activator: + // MyInterface instance = Activator.get(MyInterface.class); +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java new file mode 100644 index 0000000000000000000000000000000000000000..535505ed5d7372a03893f4db2ed7377c2ba9e839 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java @@ -0,0 +1,36 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray GuiceModule.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; + +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.PlatformUI; +import org.eclipse.xtext.service.AbstractGenericModule; +import org.eclipse.xtext.ui.editor.GlobalURIEditorOpener; +import org.eclipse.xtext.ui.editor.IURIEditorOpener; +import org.eclipse.xtext.ui.resource.IStorage2UriMapper; +import org.eclipse.xtext.ui.resource.Storage2UriMapperImpl; + +import com.google.inject.Binder; +import com.google.inject.name.Names; + +public class CompositediagramModuleBase extends AbstractGenericModule { + public Class<? extends IURIEditorOpener> bindIURIEditorOpener() { + return GlobalURIEditorOpener.class; + } + + @Override + public void configure(Binder binder) { + binder.bind(IStorage2UriMapper.class).to(Storage2UriMapperImpl.class); + binder.bind(IWorkbench.class).toInstance(PlatformUI.getWorkbench()); + binder.bind(IWorkspace.class).toInstance(ResourcesPlugin.getWorkspace()); + binder.bind(String.class).annotatedWith(Names.named("diagramTypeId")).toInstance("compositediagram"); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..a7904724b779f1874cea290608108acc4f8d487f --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DiagramTypeProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +public class CompositediagramDiagramTypeProvider extends CompositediagramDiagramTypeProviderBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java new file mode 100644 index 0000000000000000000000000000000000000000..d008ed6810f62b165e3808f1cd0a517d5d5e3f67 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java @@ -0,0 +1,33 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DiagramTypeProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.AbstractDiagramTypeProvider; +import org.eclipse.graphiti.tb.IToolBehaviorProvider; + +public abstract class CompositediagramDiagramTypeProviderBase extends AbstractDiagramTypeProvider { + protected IToolBehaviorProvider[] toolBehaviorProviders; + + public CompositediagramDiagramTypeProviderBase() { + super(); + setFeatureProvider(new CompositediagramFeatureProvider(this)); + } + + /** + * {@inheritDoc} + */ + @Override + public IToolBehaviorProvider[] getAvailableToolBehaviorProviders() { + if (toolBehaviorProviders == null) { + toolBehaviorProviders = new IToolBehaviorProvider[]{new CompositediagramToolBehaviorProvider(this)}; + } + return toolBehaviorProviders; + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..8ca89e74d4396768dd773402428a42d6361dc3d3 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java @@ -0,0 +1,19 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray FeatureProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.IDiagramTypeProvider; + +public class CompositediagramFeatureProvider extends CompositediagramFeatureProviderBase { + + public CompositediagramFeatureProvider(final IDiagramTypeProvider dtp) { + super(dtp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java new file mode 100644 index 0000000000000000000000000000000000000000..4cf62eeccaecc850cfc9aa20548f4463fbbdce80 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java @@ -0,0 +1,292 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray FeatureProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.dt.IDiagramTypeProvider; +import org.eclipse.graphiti.features.IAddFeature; +import org.eclipse.graphiti.features.ICreateConnectionFeature; +import org.eclipse.graphiti.features.ICreateFeature; +import org.eclipse.graphiti.features.ICopyFeature; +import org.eclipse.graphiti.features.ILayoutFeature; +import org.eclipse.graphiti.features.IMoveShapeFeature; +import org.eclipse.graphiti.features.IPasteFeature; +import org.eclipse.graphiti.features.IUpdateFeature; +import org.eclipse.graphiti.features.IDeleteFeature; +import org.eclipse.graphiti.features.IDirectEditingFeature; +import org.eclipse.graphiti.features.IRemoveFeature; +import org.eclipse.graphiti.features.IResizeShapeFeature; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.features.context.ICustomContext; +import org.eclipse.graphiti.features.context.ICopyContext; +import org.eclipse.graphiti.features.context.IDeleteContext; +import org.eclipse.graphiti.features.context.IDirectEditingContext; +import org.eclipse.graphiti.features.context.ILayoutContext; +import org.eclipse.graphiti.features.context.IMoveShapeContext; +import org.eclipse.graphiti.features.context.IUpdateContext; +import org.eclipse.graphiti.features.context.IPasteContext; +import org.eclipse.graphiti.features.context.IRemoveContext; +import org.eclipse.graphiti.features.context.IResizeShapeContext; +import org.eclipse.graphiti.features.custom.ICustomFeature; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultDeleteFeature; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultFeatureProvider; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultRemoveFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayFixedLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.containers.OwnerPropertyDeleteFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramAddAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramAddCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCopyFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramDirectEditAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramDirectEditCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramLayoutAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramLayoutCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramPasteFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramResizeAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramResizeCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramUpdateAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramUpdateCompositeComponentFeature; + +@SuppressWarnings("unused") +public abstract class CompositediagramFeatureProviderBase extends DefaultFeatureProvider { + public CompositediagramFeatureProviderBase(final IDiagramTypeProvider dtp) { + super(dtp); + } + + /** + * {@inheritDoc} + */ + @Override + public IAddFeature getAddFeature(final IAddContext context) { + // is object for add request a EClass or EReference? + final EObject bo = (EObject) context.getNewObject(); + final String reference = (String) context.getProperty(PROPERTY_REFERENCE); + final String alias = (String) context.getProperty(PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + if (reference == null) { + return new CompositediagramAddCompositeComponentFeature(this); + } + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + if (reference == null) { + return new CompositediagramAddAssemblyContextFeature(this); + } + } + return super.getAddFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public ICopyFeature getCopyFeature(ICopyContext context) { + return new CompositediagramCopyFeature(this); + } + + /** + * {@inheritDoc} + */ + @Override + public ICreateFeature[] getCreateFeatures() { + return new ICreateFeature[]{new CompositediagramCreateCompositeComponentFeature(this), new CompositediagramCreateAssemblyContextFeature(this)}; + } + + /** + * {@inheritDoc} + */ + @Override + public ICreateConnectionFeature[] getCreateConnectionFeatures() { + return new ICreateConnectionFeature[]{}; + } + + /** + * {@inheritDoc} + */ + @Override + public IUpdateFeature getUpdateFeature(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + String alias; + if (pictogramElement instanceof Shape) { + Shape dslShape = SprayLayoutService.findDslShape(pictogramElement); + alias = peService.getPropertyValue(dslShape, PROPERTY_ALIAS); + } else { + alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + } + // if (pictogramElement instanceof ContainerShape) { + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { // 11 + return new CompositediagramUpdateCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { // 11 + return new CompositediagramUpdateAssemblyContextFeature(this); + } + // } + return super.getUpdateFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public ILayoutFeature getLayoutFeature(final ILayoutContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + final String alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + return new CompositediagramLayoutCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + return new CompositediagramLayoutAssemblyContextFeature(this); + } + return super.getLayoutFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public IRemoveFeature getRemoveFeature(final IRemoveContext context) { + // Spray specific DefaultRemoveFeature + final PictogramElement pictogramElement = context.getPictogramElement(); + return new DefaultRemoveFeature(this); + } + + public IDeleteFeature getDeleteFeature(final IDeleteContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + final String reference = peService.getPropertyValue(pictogramElement, PROPERTY_REFERENCE); + final String alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + if (reference == null) { + return new DefaultDeleteFeature(this); + } + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + if (reference == null) { + return new DefaultDeleteFeature(this); + } + } + + return new DefaultDeleteFeature(this); + } + + /** + * Ensure that any shape with property {@link ISprayConstants#CAN_MOVE} set to false will not have a move feature. + */ + /** + * {@inheritDoc} + */ + @Override + public IMoveShapeFeature getMoveShapeFeature(final IMoveShapeContext context) { + final Shape shape = context.getShape(); + final ContainerShape parent = shape.getContainer(); + EObject eObject = getBusinessObjectForPictogramElement(shape); + ContainerShape targetContainer = context.getTargetContainer(); + EObject target = getBusinessObjectForPictogramElement(targetContainer); + if (eObject instanceof CompositeComponent) { + return new edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramMoveCompositeComponentFeature(this); + } + + if (eObject instanceof AssemblyContext) { + return new edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramMoveAssemblyContextFeature(this); + } + + return super.getMoveShapeFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public IPasteFeature getPasteFeature(IPasteContext context) { + return new CompositediagramPasteFeature(this); + } + + /** + * {@inheritDoc} + */ + @Override + public IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + if (SprayLayoutService.isCompartment(pictogramElement)) { + return null; + } + String alias = null; + if (pictogramElement instanceof Shape) { + Shape dslShape = SprayLayoutService.findDslShape(pictogramElement); + alias = peService.getPropertyValue(dslShape, PROPERTY_ALIAS); + } else { + alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + } + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + return new CompositediagramDirectEditCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + return new CompositediagramDirectEditAssemblyContextFeature(this); + } + return super.getDirectEditingFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public ICustomFeature[] getCustomFeatures(final ICustomContext context) { + final EObject bo = (EObject) getBusinessObjectForPictogramElement(context.getPictogramElements()[0]); + if (bo == null) { + return new ICustomFeature[0]; + } + final String alias = GraphitiProperties.get(context.getPictogramElements()[0], PROPERTY_ALIAS); + return new ICustomFeature[0]; + } + + /** + * {@inheritDoc} + */ + @Override + public IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + final String alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + return new CompositediagramResizeCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + return new CompositediagramResizeAssemblyContextFeature(this); + } + return super.getResizeShapeFeature(context); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..bcdea840d74dd99782217f405dd41a9bb4c1b318 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java @@ -0,0 +1,26 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ImageProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +public class CompositediagramImageProvider extends CompositediagramImageProviderBase { + // /** + // * The image identifier for ... + // */ + // public static final String COMPOSITEDIAGRAM__MYIMAGEID = PREFIX + "MYIMAGEID"; + // + // /** + // * {@inheritDoc} + // */ + // @Override + // protected void addAvailableImages() { + // super.addAvailableImages(); + // // register the path for each image identifier + // addImageFilePath(COMPOSITEDIAGRAM__MYIMAGEID, "icons/..."); + // } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java new file mode 100644 index 0000000000000000000000000000000000000000..3e9f33a4f8a3420dc8c4ae1d23babf8354c9501b --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java @@ -0,0 +1,24 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ImageProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.ui.platform.AbstractImageProvider; + +public abstract class CompositediagramImageProviderBase extends AbstractImageProvider { + // The prefix for all identifiers of this image provider + public static final String PREFIX = "edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram."; + + /** + * {@inheritDoc} + */ + @Override + protected void addAvailableImages() { + // register the path for each image identifier + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java new file mode 100644 index 0000000000000000000000000000000000000000..b5c015dd57532a6d7881d0e6144666be259612a7 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java @@ -0,0 +1,126 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ModelService.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import java.io.IOException; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.InternalEObject; +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.util.EcoreUtil; +import org.eclipse.graphiti.dt.IDiagramTypeProvider; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory; + +/** + * This class gives access to the domain model root element for a diagram. + * On first access, a new resource will be created to which the model + * is added. + */ +public class CompositediagramModelService implements ISprayConstants { + public static final String FILE_EXTENSION = "repository"; + protected IPeService peService; + protected IDiagramTypeProvider dtp; + + static protected CompositediagramModelService modelService = null; + + /** + * return the model service, create one if it does not exist yet. + */ + static public CompositediagramModelService getModelService(IDiagramTypeProvider dtp) { + modelService = new CompositediagramModelService(dtp); + return modelService; + } + + /** + * return the model service. + * returns null if there is no model service. + */ + static public CompositediagramModelService getModelService() { + return modelService; + } + + protected CompositediagramModelService(IDiagramTypeProvider dtp) { + this.dtp = dtp; + this.peService = Graphiti.getPeService(); + } + + public Repository getModel() { + final Diagram diagram = dtp.getDiagram(); + Resource r = diagram.eResource(); + ResourceSet set = r.getResourceSet(); + EObject bo = (EObject) dtp.getFeatureProvider().getBusinessObjectForPictogramElement(diagram); + Repository model = null; + // If its a proxy, resolve it + if (bo != null && bo.eIsProxy()) { + if (bo instanceof InternalEObject) { + model = (Repository) set.getEObject(((InternalEObject) bo).eProxyURI(), true); + } + } + if (model == null) { + model = createModel(); + } + return model; + } + + public Object getBusinessObject(PictogramElement pe) { + return dtp.getFeatureProvider().getBusinessObjectForPictogramElement(dtp.getDiagram()); + } + + /** + * Creates the domain model element and store it in the file. Overwrite to set required properties on creation. + */ + protected Repository createModel() { + final Diagram diagram = dtp.getDiagram(); + try { + Repository model = RepositoryFactory.eINSTANCE.createRepository(); + createModelResourceAndAddModel(model); + peService.setPropertyValue(diagram, PROPERTY_URI, EcoreUtil.getURI(model).toString()); + // link the diagram with the model element + dtp.getFeatureProvider().link(diagram, model); + return model; + } catch (CoreException e) { + e.printStackTrace(); + return null; + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } + + protected void createModelResourceAndAddModel(final Repository model) throws CoreException, IOException { + final Diagram diagram = dtp.getDiagram(); + URI uri = diagram.eResource().getURI(); + uri = uri.trimFragment(); + uri = uri.trimFileExtension(); + uri = uri.appendFileExtension(FILE_EXTENSION); + ResourceSet rSet = diagram.eResource().getResourceSet(); + final IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); + IResource file = workspaceRoot.findMember(uri.toPlatformString(true)); + if (file == null || !file.exists()) { + Resource resource = rSet.createResource(uri); + resource.setTrackingModification(true); + resource.getContents().add(model); + } else { + final Resource resource = rSet.getResource(uri, true); + resource.getContents().add(model); + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..7e9736713bf46a7568b84340b1d5698105a92e7c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ToolBehaviorProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.IDiagramTypeProvider; + +public class CompositediagramToolBehaviorProvider extends CompositediagramToolBehaviorProviderBase { + public CompositediagramToolBehaviorProvider(final IDiagramTypeProvider dtp) { + super(dtp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java new file mode 100644 index 0000000000000000000000000000000000000000..85d1206d367313d61df606e00a7105a3fa30a03e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java @@ -0,0 +1,79 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ToolBehaviorProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.IDiagramTypeProvider; +import org.eclipse.graphiti.features.IFeature; +import org.eclipse.graphiti.palette.IPaletteCompartmentEntry; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.tb.AbstractSprayToolBehaviorProvider; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.emf.common.util.EList; +import org.eclipse.graphiti.services.Graphiti; + +import com.google.common.collect.Lists; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateCompositeComponentFeature; + +public abstract class CompositediagramToolBehaviorProviderBase extends AbstractSprayToolBehaviorProvider { + protected static final String COMPARTMENT_CONTEXT = "Context"; + protected static final String COMPARTMENT_COMPONENTS = "Components"; + + public CompositediagramToolBehaviorProviderBase(final IDiagramTypeProvider dtp) { + super(dtp); + } + + /** + * {@inheritDoc} + */ + @Override + public GraphicsAlgorithm getSelectionBorder(PictogramElement pe) { + boolean isFromDsl = SprayLayoutService.isShapeFromDsl(pe); + if (isFromDsl) { + ContainerShape container = (ContainerShape) pe; + if (!container.getChildren().isEmpty()) { + return container.getChildren().get(0).getGraphicsAlgorithm(); + } + } + return super.getSelectionBorder(pe); + } + + /** + * {@inheritDoc} + */ + @Override + protected void buildCreationTools() { + buildCreationTool(new CompositediagramCreateCompositeComponentFeature(this.getFeatureProvider())); + buildCreationTool(new CompositediagramCreateAssemblyContextFeature(this.getFeatureProvider())); + // Compartments + } + + /** + * {@inheritDoc} + */ + @Override + protected Iterable<IPaletteCompartmentEntry> buildPaletteCompartments() { + return Lists.newArrayList(getPaletteCompartment(COMPARTMENT_CONTEXT), getPaletteCompartment(COMPARTMENT_COMPONENTS), getPaletteCompartment(COMPARTMENT_DEFAULT)); + } + + /** + * {@inheritDoc} + */ + @Override + protected IPaletteCompartmentEntry getPaletteCompartmentForFeature(final IFeature feature) { + if (feature instanceof CompositediagramCreateCompositeComponentFeature) { + return getPaletteCompartment(COMPARTMENT_COMPONENTS); + } else if (feature instanceof CompositediagramCreateAssemblyContextFeature) { + return getPaletteCompartment(COMPARTMENT_CONTEXT); + } + return super.getPaletteCompartmentForFeature(feature); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..2a0dd287126de0b9d607d06475e520211392de4f --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramAddAssemblyContextFeature extends CompositediagramAddAssemblyContextFeatureBase { + public CompositediagramAddAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..9a376a01a1110b01fe0e20638870eaabadfea26b --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java @@ -0,0 +1,104 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractAddFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.ISprayShape; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles.CompositediagramDefaultStyle; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +@SuppressWarnings("unused") +public abstract class CompositediagramAddAssemblyContextFeatureBase extends AbstractAddFeature { + protected final static String typeOrAliasName = "AssemblyContext"; + protected Diagram targetDiagram = null; + + public CompositediagramAddAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canAdd(final IAddContext context) { + final EObject newObject = (EObject) context.getNewObject(); + if (newObject instanceof AssemblyContext) { + // check if user wants to add to a diagram + if (context.getTargetContainer() instanceof Diagram) { + return false; + } else if (context.getTargetContainer() instanceof ContainerShape) { + // OLD STUFF + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // NEW stuff + // cls CompositeComponent refers to this metaClassÈ + if (target instanceof edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) { + if (SprayLayoutService.isCompartment(context.getTargetContainer())) { + String id = GraphitiProperties.get(context.getTargetContainer(), TEXT_ID); + if ((id != null) && (id.equals("context"))) { + return true; + } + } + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public PictogramElement add(final IAddContext context) { + final AssemblyContext addedModelElement = (AssemblyContext) context.getNewObject(); + // NEW stuff + Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + final ContainerShape targetContainer = context.getTargetContainer(); + final ISprayStyle style = new CompositediagramDefaultStyle(); + final ISprayShape shape = new RectShape(getFeatureProvider()); + final ContainerShape conShape = shape.getShape(targetContainer, style); + final IGaService gaService = Graphiti.getGaService(); + gaService.setLocation(conShape.getGraphicsAlgorithm(), context.getX(), context.getY()); + link(conShape, addedModelElement); + linkShapes(conShape, addedModelElement); + + setDoneChanges(true); + updatePictogramElement(conShape); + layout(conShape); + + return conShape; + } + + protected void linkShapes(ContainerShape conShape, AssemblyContext addedModelElement) { + link(conShape, addedModelElement); + for (Shape childShape : conShape.getChildren()) { + if (childShape instanceof ContainerShape) { + linkShapes((ContainerShape) childShape, addedModelElement); + } else { + link(childShape, addedModelElement); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..8e2f72a4bd44b706b9adc4ca287d60ee3f611fbd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramAddCompositeComponentFeature extends CompositediagramAddCompositeComponentFeatureBase { + public CompositediagramAddCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..ab2770202d08adc483204c33c23c4a5b0a13e17c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java @@ -0,0 +1,94 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractAddFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.ISprayShape; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles.CompositediagramDefaultStyle; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +@SuppressWarnings("unused") +public abstract class CompositediagramAddCompositeComponentFeatureBase extends AbstractAddFeature { + protected final static String typeOrAliasName = "CompositeComponent"; + protected Diagram targetDiagram = null; + + public CompositediagramAddCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canAdd(final IAddContext context) { + final EObject newObject = (EObject) context.getNewObject(); + if (newObject instanceof CompositeComponent) { + // check if user wants to add to a diagram + if (context.getTargetContainer() instanceof Diagram) { + return true; + } else if (context.getTargetContainer() instanceof ContainerShape) { + // OLD STUFF + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // NEW stuff + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public PictogramElement add(final IAddContext context) { + final CompositeComponent addedModelElement = (CompositeComponent) context.getNewObject(); + // NEW stuff + Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + final ContainerShape targetContainer = context.getTargetContainer(); + final ISprayStyle style = new CompositediagramDefaultStyle(); + final ISprayShape shape = new CompositeShape(getFeatureProvider()); + final ContainerShape conShape = shape.getShape(targetContainer, style); + final IGaService gaService = Graphiti.getGaService(); + gaService.setLocation(conShape.getGraphicsAlgorithm(), context.getX(), context.getY()); + link(conShape, addedModelElement); + linkShapes(conShape, addedModelElement); + + setDoneChanges(true); + updatePictogramElement(conShape); + layout(conShape); + + return conShape; + } + + protected void linkShapes(ContainerShape conShape, CompositeComponent addedModelElement) { + link(conShape, addedModelElement); + for (Shape childShape : conShape.getChildren()) { + if (childShape instanceof ContainerShape) { + linkShapes((ContainerShape) childShape, addedModelElement); + } else { + link(childShape, addedModelElement); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..4f8e7dbdeb98c4175a80deb9de448ff0068050eb --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray CopyFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramCopyFeature extends CompositediagramCopyFeatureBase { + public CompositediagramCopyFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..a2f7cd8489efdc0b152456660dd0bc371178cdfd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java @@ -0,0 +1,54 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray CopyFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ICopyContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipse.graphiti.ui.features.AbstractCopyFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; + +public abstract class CompositediagramCopyFeatureBase extends AbstractCopyFeature { + + public CompositediagramCopyFeatureBase(IFeatureProvider fp) { + super(fp); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canCopy(ICopyContext context) { + final PictogramElement[] pes = context.getPictogramElements(); + // nothing selected + if (pes == null || pes.length == 0) { + return false; + } + // return true, if all selected elements are a subtypes of Repository + for (PictogramElement pe : pes) { + final Object bo = getBusinessObjectForPictogramElement(pe); + if (!(bo instanceof Repository)) { + return false; + } + } + return true; + } + + /** + * {@inheritDoc} + */ + @Override + public void copy(ICopyContext context) { + // Copy PictogramElements instead of Objects because of the properties on Shapes. + PictogramElement[] pes = context.getPictogramElements(); + putToClipboard(pes); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..98592754046b027c1dc50773940eef2bf3ee3dd6 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramCreateAssemblyContextFeature extends CompositediagramCreateAssemblyContextFeatureBase { + public CompositediagramCreateAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..9b742a7f3d15c9d9020d47c68e68fb6a8aace331 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java @@ -0,0 +1,106 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ICreateContext; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipselabs.spray.runtime.graphiti.containers.SampleUtil; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractCreateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import org.eclipse.graphiti.features.context.IAreaContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram.CompositediagramModelService; + +public abstract class CompositediagramCreateAssemblyContextFeatureBase extends AbstractCreateFeature { + protected static String TITLE = "Create "; + protected static String USER_QUESTION = "Enter new name"; + protected CompositediagramModelService modelService; + protected AssemblyContext newClass = null; + + public CompositediagramCreateAssemblyContextFeatureBase(final IFeatureProvider fp) { + // set name and description of the creation feature + super(fp, "AssemblyContext", "Create new AssemblyContext"); + modelService = CompositediagramModelService.getModelService(fp.getDiagramTypeProvider()); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canCreate(final ICreateContext context) { + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // TODO: Respect the cardinality of the containment reference + if (context.getTargetContainer() instanceof Diagram) { + return false; + } else if (context.getTargetContainer() instanceof ContainerShape) { + } + // And now the new stuff + // cls CompositeComponent refers to this metaClass + if (target instanceof edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) { + if (SprayLayoutService.isCompartment(context.getTargetContainer())) { + String id = GraphitiProperties.get(context.getTargetContainer(), TEXT_ID); + if ((id != null) && (id.equals("context"))) { + return true; + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public Object[] create(final ICreateContext context) { + newClass = createAssemblyContext(context); + + if (newClass == null) { + return EMPTY; + } + + // do the add + addGraphicalRepresentation(context, newClass); + + // activate direct editing after object creation + getFeatureProvider().getDirectEditingInfo().setActive(true); + + // return newly created business object(s) + return new Object[]{newClass}; + } + + // + + /** + * Creates a new {@link AssemblyContext} instance and adds it to the containing type. + */ + protected AssemblyContext createAssemblyContext(final ICreateContext context) { + // create AssemblyContext instance + final AssemblyContext newClass = RepositoryFactory.eINSTANCE.createAssemblyContext(); + boolean isContainment = false; + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // And now the NEW stuff + if (target instanceof edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) { + edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent domainObject = (edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) target; + // containment + domainObject.getAssemblyContexts().add(newClass); + setDoneChanges(true); + return newClass; + } + setDoneChanges(true); + return newClass; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..c44a347bf5124496d5e3b6fdc302e73dfddd75f2 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramCreateCompositeComponentFeature extends CompositediagramCreateCompositeComponentFeatureBase { + public CompositediagramCreateCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..7601322c876a69c4eb048462aa51a8a206928428 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java @@ -0,0 +1,95 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ICreateContext; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipselabs.spray.runtime.graphiti.containers.SampleUtil; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractCreateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import org.eclipse.graphiti.features.context.IAreaContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram.CompositediagramModelService; + +public abstract class CompositediagramCreateCompositeComponentFeatureBase extends AbstractCreateFeature { + protected static String TITLE = "Create "; + protected static String USER_QUESTION = "Enter new name"; + protected CompositediagramModelService modelService; + protected CompositeComponent newClass = null; + + public CompositediagramCreateCompositeComponentFeatureBase(final IFeatureProvider fp) { + // set name and description of the creation feature + super(fp, "CompositeComponent", "Create new CompositeComponent"); + modelService = CompositediagramModelService.getModelService(fp.getDiagramTypeProvider()); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canCreate(final ICreateContext context) { + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // TODO: Respect the cardinality of the containment reference + if (context.getTargetContainer() instanceof Diagram) { + return true; + } else if (context.getTargetContainer() instanceof ContainerShape) { + } + // And now the new stuff + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public Object[] create(final ICreateContext context) { + newClass = createCompositeComponent(context); + + if (newClass == null) { + return EMPTY; + } + + // do the add + addGraphicalRepresentation(context, newClass); + + // activate direct editing after object creation + getFeatureProvider().getDirectEditingInfo().setActive(true); + + // return newly created business object(s) + return new Object[]{newClass}; + } + + // org.eclipse.emf.ecore.impl.EReferenceImpl@69597c46 (name: components) (ordered: false, unique: true, lowerBound: 0, upperBound: -1) (changeable: true, volatile: false, transient: false, defaultValueLiteral: null, unsettable: false, derived: false) (containment: true, resolveProxies: true) + + /** + * Creates a new {@link CompositeComponent} instance and adds it to the containing type. + */ + protected CompositeComponent createCompositeComponent(final ICreateContext context) { + // create CompositeComponent instance + final CompositeComponent newClass = RepositoryFactory.eINSTANCE.createCompositeComponent(); + boolean isContainment = false; + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + if (!isContainment) { + // add the element to containment reference + Repository model = modelService.getModel(); + model.getComponents().add(newClass); + } + // And now the NEW stuff + setDoneChanges(true); + return newClass; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..9793f3b50d006ec617770d66d12212c1221e8cdf --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray DirectEditFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramDirectEditAssemblyContextFeature extends CompositediagramDirectEditAssemblyContextFeatureBase { + public CompositediagramDirectEditAssemblyContextFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..c15e6ed6c3161704bfb280bee579f27126ea0499 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java @@ -0,0 +1,85 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray DirectEditFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IDirectEditingContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractDirectEditingFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; + +public abstract class CompositediagramDirectEditAssemblyContextFeatureBase extends AbstractDirectEditingFeature { + + protected IPeService peService = Graphiti.getPeService(); + + public CompositediagramDirectEditAssemblyContextFeatureBase(IFeatureProvider fp) { + super(fp); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canDirectEdit(IDirectEditingContext context) { + PictogramElement pe = context.getPictogramElement(); + Object bo = getBusinessObjectForPictogramElement(pe); + GraphicsAlgorithm ga = context.getGraphicsAlgorithm(); + // support direct editing, if it is a AssemblyContext, and the user clicked + // directly on the text and not somewhere else in the rectangle + if (bo instanceof AssemblyContext && ga instanceof Text) { + return true; + } + // direct editing not supported in all other cases + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getInitialValue(IDirectEditingContext context) { + // return the initial value of the clicked text on the AssemblyContext + PictogramElement pe = context.getPictogramElement(); + AssemblyContext eClass = (AssemblyContext) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("rectText")) { + return eClass.getName(); + } + return ""; + } + + /** + * {@inheritDoc} + */ + @Override + public int getEditingType() { + return TYPE_TEXT; + } + + /** + * {@inheritDoc} + */ + @Override + public void setValue(final String value, final IDirectEditingContext context) { + // set the new value on the AssemblyContext + final PictogramElement pe = context.getPictogramElement(); + AssemblyContext eClass = (AssemblyContext) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("rectText")) { + eClass.setName(value); + } + updatePictogramElement(pe); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..2b02a9d212fd4bcd81397c5bb64fcf231ad759c2 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DirectEditFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramDirectEditCompositeComponentFeature extends CompositediagramDirectEditCompositeComponentFeatureBase { + public CompositediagramDirectEditCompositeComponentFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..99356123cecd5d63d88e87a3df8f9e7856fed72f --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java @@ -0,0 +1,85 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DirectEditFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IDirectEditingContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractDirectEditingFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public abstract class CompositediagramDirectEditCompositeComponentFeatureBase extends AbstractDirectEditingFeature { + + protected IPeService peService = Graphiti.getPeService(); + + public CompositediagramDirectEditCompositeComponentFeatureBase(IFeatureProvider fp) { + super(fp); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canDirectEdit(IDirectEditingContext context) { + PictogramElement pe = context.getPictogramElement(); + Object bo = getBusinessObjectForPictogramElement(pe); + GraphicsAlgorithm ga = context.getGraphicsAlgorithm(); + // support direct editing, if it is a CompositeComponent, and the user clicked + // directly on the text and not somewhere else in the rectangle + if (bo instanceof CompositeComponent && ga instanceof Text) { + return true; + } + // direct editing not supported in all other cases + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getInitialValue(IDirectEditingContext context) { + // return the initial value of the clicked text on the CompositeComponent + PictogramElement pe = context.getPictogramElement(); + CompositeComponent eClass = (CompositeComponent) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("classText")) { + return eClass.getName(); + } + return ""; + } + + /** + * {@inheritDoc} + */ + @Override + public int getEditingType() { + return TYPE_TEXT; + } + + /** + * {@inheritDoc} + */ + @Override + public void setValue(final String value, final IDirectEditingContext context) { + // set the new value on the CompositeComponent + final PictogramElement pe = context.getPictogramElement(); + CompositeComponent eClass = (CompositeComponent) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("classText")) { + eClass.setName(value); + } + updatePictogramElement(pe); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..b023b18e0adc13d60be71f8553a8cc4f875f42f2 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramLayoutAssemblyContextFeature extends CompositediagramLayoutAssemblyContextFeatureBase { + public CompositediagramLayoutAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..7a6b1bc49f64686264a892fbf7b47d64fb48920c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java @@ -0,0 +1,52 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ILayoutContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractLayoutFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; + +public abstract class CompositediagramLayoutAssemblyContextFeatureBase extends AbstractLayoutFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramLayoutAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new RectShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canLayout(final ILayoutContext context) { + final PictogramElement pe = context.getPictogramElement(); + if (!(pe instanceof ContainerShape)) { + return false; + } + final EList<EObject> businessObjects = pe.getLink().getBusinessObjects(); + return (businessObjects.size() == 1) && (businessObjects.get(0) instanceof AssemblyContext); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean layout(final ILayoutContext context) { + return layoutManager.layout(context); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..04c0944c8e5de1776ecf948527ae21fe9a0628ed --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramLayoutCompositeComponentFeature extends CompositediagramLayoutCompositeComponentFeatureBase { + public CompositediagramLayoutCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..4af72380ae45c063915b22a9ef222307534ff0b2 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java @@ -0,0 +1,52 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ILayoutContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractLayoutFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public abstract class CompositediagramLayoutCompositeComponentFeatureBase extends AbstractLayoutFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramLayoutCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new CompositeShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canLayout(final ILayoutContext context) { + final PictogramElement pe = context.getPictogramElement(); + if (!(pe instanceof ContainerShape)) { + return false; + } + final EList<EObject> businessObjects = pe.getLink().getBusinessObjects(); + return (businessObjects.size() == 1) && (businessObjects.get(0) instanceof CompositeComponent); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean layout(final ILayoutContext context) { + return layoutManager.layout(context); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..c11653d8b41fab7da0657e654b8a53c4d4ee6b0d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramMoveAssemblyContextFeature extends CompositediagramMoveAssemblyContextFeatureBase { + public CompositediagramMoveAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..fb8e97bdcad2b340de9d29861703e81948d8825b --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java @@ -0,0 +1,114 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IRemoveFeature; +import org.eclipse.graphiti.features.context.IMoveShapeContext; +import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.features.context.impl.RemoveContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayFixedLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayTopLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayDiagramLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public abstract class CompositediagramMoveAssemblyContextFeatureBase extends DefaultMoveShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramMoveAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new RectShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canMoveShape(IMoveShapeContext context) { + Shape sourceShape = (Shape) context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + // check whether it can move in the same container + if (sourceShape.eContainer() == targetContainer) { + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayFixedLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayTopLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayDiagramLayoutManager)) { + return true; + } + return false; + } + // Can move from containment to another containment compartment + if (target instanceof CompositeComponent) { + if (SprayLayoutService.isCompartment(context.getTargetContainer())) { + String id = GraphitiProperties.get(context.getTargetContainer(), ISprayConstants.TEXT_ID); + if ((id != null) && (id.equals("context"))) { + return true; + } + } + } + return super.canMoveShape(context); + } + + /** + * {@inheritDoc} + */ + @Override + public void moveShape(IMoveShapeContext context) { + PictogramElement sourceShape = context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + ContainerShape sourceContainer = context.getSourceContainer(); + Object sourceParent = getBusinessObjectForPictogramElement(sourceContainer); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + if (sourceShape.eContainer() == targetContainer) { + super.moveShape(context); + return; + } + if (target instanceof CompositeComponent) { + if (SprayLayoutService.isCompartment(targetContainer)) { + String id = GraphitiProperties.get(targetContainer, ISprayConstants.TEXT_ID); + if ((id != null) && (id.equals("context"))) { + + sourceContainer.getChildren().remove(source); + ContainerShape sourceTop = SprayLayoutService.findTopDslShape(sourceContainer); + if (sourceTop != null) { + SprayLayoutService.getLayoutManager(sourceTop).layout(); + } + // remove from source container and add to target container + + ((CompositeComponent) target).getAssemblyContexts().add((AssemblyContext) source); + targetContainer.getChildren().add((Shape) sourceShape); + ContainerShape targetTop = SprayLayoutService.findTopDslShape(targetContainer); + if (targetTop != null) { + SprayLayoutService.getLayoutManager(targetTop).layout(); + } + return; + } + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..9433794e10c819a6dd00d88914b0155156dd0cea --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramMoveCompositeComponentFeature extends CompositediagramMoveCompositeComponentFeatureBase { + public CompositediagramMoveCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..44462f405a7ac3de1d0b9f669f01caa7e61df838 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java @@ -0,0 +1,80 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IRemoveFeature; +import org.eclipse.graphiti.features.context.IMoveShapeContext; +import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.features.context.impl.RemoveContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayFixedLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayTopLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayDiagramLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; + +public abstract class CompositediagramMoveCompositeComponentFeatureBase extends DefaultMoveShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramMoveCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new CompositeShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canMoveShape(IMoveShapeContext context) { + Shape sourceShape = (Shape) context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + // check whether it can move in the same container + if (sourceShape.eContainer() == targetContainer) { + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayFixedLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayTopLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayDiagramLayoutManager)) { + return true; + } + return false; + } + return super.canMoveShape(context); + } + + /** + * {@inheritDoc} + */ + @Override + public void moveShape(IMoveShapeContext context) { + PictogramElement sourceShape = context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + ContainerShape sourceContainer = context.getSourceContainer(); + Object sourceParent = getBusinessObjectForPictogramElement(sourceContainer); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + if (sourceShape.eContainer() == targetContainer) { + super.moveShape(context); + return; + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..5decf82e733a1814c8333bd9233ef21c999887fb --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray PasteFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramPasteFeature extends CompositediagramPasteFeatureBase { + public CompositediagramPasteFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..6ddb64ababf6990c94c89aead3f787160e2cf1ab --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java @@ -0,0 +1,98 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray PasteFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IPasteContext; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.mm.Property; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractPasteFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram.CompositediagramModelService; + +public abstract class CompositediagramPasteFeatureBase extends AbstractPasteFeature { + + protected CompositediagramModelService modelService; + + public CompositediagramPasteFeatureBase(IFeatureProvider fp) { + super(fp); + modelService = CompositediagramModelService.getModelService(fp.getDiagramTypeProvider()); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canPaste(IPasteContext context) { + // TODO: only support pasting directly in the diagram + PictogramElement[] pes = context.getPictogramElements(); + if (pes.length != 1 || !(pes[0] instanceof Diagram)) { + return false; + } + // can paste, if all objects on the clipboard are PictogramElements with link on subclasses of Repository + Object[] fromClipboard = getFromClipboard(); + if (fromClipboard == null || fromClipboard.length == 0) { + return false; + } + for (Object object : fromClipboard) { + if (!(object instanceof PictogramElement)) { + return false; + } else if (!(getBusinessObjectForPictogramElement((PictogramElement) object) instanceof Repository)) { + return false; + } + } + return true; + } + + /** + * {@inheritDoc} + */ + @Override + public void paste(IPasteContext context) { + // already verified, that pasting is allowed just directly in the diagram + PictogramElement[] pes = context.getPictogramElements(); + Diagram diagram = (Diagram) pes[0]; + + // get the PictogramElements from the clipboard and the linked business object. + Object[] objects = getFromClipboard(); + for (Object object : objects) { + PictogramElement pictogramElement = (PictogramElement) object; + Repository boRef = (Repository) getBusinessObjectForPictogramElement(pictogramElement); + Repository bo = EcoreUtil.copy(boRef); + addBusinessObjectToContainer(bo, pictogramElement); + + // create a new AddContext for the creation of a new shape. + AddContext ac = new AddContext(new AddContext(), bo); + ac.setLocation(0, 0); // for simplicity paste at (0, 0) + ac.setTargetContainer(diagram); // paste on diagram + // copy all properties from the shape (e.g. ALIAS etc.) + for (Property prop : pictogramElement.getProperties()) { + ac.putProperty(prop.getKey(), prop.getValue()); + } + getFeatureProvider().addIfPossible(ac); + } + } + + protected void addBusinessObjectToContainer(Repository bo, PictogramElement pe) { + final Repository model = modelService.getModel(); + final String alias = Graphiti.getPeService().getPropertyValue(pe, PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + model.getComponents().add((CompositeComponent) bo); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + throw new UnsupportedOperationException("No create behavior defined"); + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..bb36685dea9a4bf01d3a6ad257cfec82564bb693 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramResizeAssemblyContextFeature extends CompositediagramResizeAssemblyContextFeatureBase { + public CompositediagramResizeAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..9a946b61e10ef6dc814ed7e192cfe184ac07986c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IResizeConfiguration; +import org.eclipse.graphiti.features.context.IResizeShapeContext; +import org.eclipse.graphiti.features.DefaultResizeConfiguration; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultResizeShapeFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; + +public abstract class CompositediagramResizeAssemblyContextFeatureBase extends DefaultResizeShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramResizeAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new RectShape(fp).getShapeLayout(); + } + + public class ResizeConfiguration_RectShape extends DefaultResizeConfiguration { + + public boolean isHorizontalResizeAllowed() { + return layoutManager.isStretchHorizontal(); + } + + public boolean isVerticalResizeAllowed() { + return layoutManager.isStretchVertical(); + } + + } + + /** + * {@inheritDoc} + */ + @Override + public IResizeConfiguration getResizeConfiguration(IResizeShapeContext context) { + return new ResizeConfiguration_RectShape(); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..6588b92bb7169bc5f723d9dd26a574ef718b1075 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramResizeCompositeComponentFeature extends CompositediagramResizeCompositeComponentFeatureBase { + public CompositediagramResizeCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..b5d974e245f362c34ac481e094cbfa2645a2a9c9 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IResizeConfiguration; +import org.eclipse.graphiti.features.context.IResizeShapeContext; +import org.eclipse.graphiti.features.DefaultResizeConfiguration; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultResizeShapeFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; + +public abstract class CompositediagramResizeCompositeComponentFeatureBase extends DefaultResizeShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramResizeCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new CompositeShape(fp).getShapeLayout(); + } + + public class ResizeConfiguration_CompositeShape extends DefaultResizeConfiguration { + + public boolean isHorizontalResizeAllowed() { + return layoutManager.isStretchHorizontal(); + } + + public boolean isVerticalResizeAllowed() { + return layoutManager.isStretchVertical(); + } + + } + + /** + * {@inheritDoc} + */ + @Override + public IResizeConfiguration getResizeConfiguration(IResizeShapeContext context) { + return new ResizeConfiguration_CompositeShape(); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..f8d728a4a495cdb5f6963dc7d95e0deb1fa22699 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramUpdateAssemblyContextFeature extends CompositediagramUpdateAssemblyContextFeatureBase { + public CompositediagramUpdateAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..7f0b499180bab30add891493b6bfab623d014a01 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java @@ -0,0 +1,135 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IReason; +import org.eclipse.graphiti.features.context.IUpdateContext; +import org.eclipse.graphiti.features.impl.Reason; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractUpdateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator; + +public abstract class CompositediagramUpdateAssemblyContextFeatureBase extends AbstractUpdateFeature { + public CompositediagramUpdateAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + gaService = Activator.get(IGaService.class); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canUpdate(final IUpdateContext context) { + // return true, if linked business object is a AssemblyContext + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + return (bo instanceof AssemblyContext) && (!(pictogramElement instanceof Diagram)); + } + + /** + * {@inheritDoc} + */ + @Override + public IReason updateNeeded(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + if (!(bo instanceof AssemblyContext)) { + return Reason.createFalseReason(); + } + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + AssemblyContext eClass = (AssemblyContext) bo; + if (checkUpdateNeededRecursively(shape, eClass)) { + return Reason.createTrueReason(); + } + if (shape instanceof ContainerShape) { + for (Shape childShape : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(childShape, eClass)) { + return Reason.createTrueReason(); + } + } + } + } + return Reason.createFalseReason(); + } + + protected boolean checkUpdateNeededRecursively(Shape shape, final AssemblyContext eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("rectText")) { + String eClassValue = eClass.getName(); + String gAlgorithmValue = text.getValue(); + if (eClassValue != null) { + if (!eClassValue.equals(gAlgorithmValue)) { + return true; + } + } + } + } + } + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(child, eClass)) { + return true; + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean update(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final AssemblyContext eClass = (AssemblyContext) getBusinessObjectForPictogramElement(pictogramElement); + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + updateChildsRecursively(shape, eClass); + Shape top = findTopShape(shape); + SprayLayoutService.getLayoutManager(top).layout(); + } + return true; + + } + + protected void updateChildsRecursively(Shape shape, final AssemblyContext eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("rectText")) { + text.setValue(eClass.getName()); + } + } + } + + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + updateChildsRecursively(child, eClass); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java new file mode 100644 index 0000000000000000000000000000000000000000..1a95782c32af3256062bb16f6cdc5999793fced9 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramUpdateCompositeComponentFeature extends CompositediagramUpdateCompositeComponentFeatureBase { + public CompositediagramUpdateCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java new file mode 100644 index 0000000000000000000000000000000000000000..4d7a98c0122089dacaf872314b25ed2d07423995 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java @@ -0,0 +1,135 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IReason; +import org.eclipse.graphiti.features.context.IUpdateContext; +import org.eclipse.graphiti.features.impl.Reason; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractUpdateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator; + +public abstract class CompositediagramUpdateCompositeComponentFeatureBase extends AbstractUpdateFeature { + public CompositediagramUpdateCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + gaService = Activator.get(IGaService.class); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canUpdate(final IUpdateContext context) { + // return true, if linked business object is a CompositeComponent + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + return (bo instanceof CompositeComponent) && (!(pictogramElement instanceof Diagram)); + } + + /** + * {@inheritDoc} + */ + @Override + public IReason updateNeeded(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + if (!(bo instanceof CompositeComponent)) { + return Reason.createFalseReason(); + } + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + CompositeComponent eClass = (CompositeComponent) bo; + if (checkUpdateNeededRecursively(shape, eClass)) { + return Reason.createTrueReason(); + } + if (shape instanceof ContainerShape) { + for (Shape childShape : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(childShape, eClass)) { + return Reason.createTrueReason(); + } + } + } + } + return Reason.createFalseReason(); + } + + protected boolean checkUpdateNeededRecursively(Shape shape, final CompositeComponent eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("classText")) { + String eClassValue = eClass.getName(); + String gAlgorithmValue = text.getValue(); + if (eClassValue != null) { + if (!eClassValue.equals(gAlgorithmValue)) { + return true; + } + } + } + } + } + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(child, eClass)) { + return true; + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean update(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final CompositeComponent eClass = (CompositeComponent) getBusinessObjectForPictogramElement(pictogramElement); + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + updateChildsRecursively(shape, eClass); + Shape top = findTopShape(shape); + SprayLayoutService.getLayoutManager(top).layout(); + } + return true; + + } + + protected void updateChildsRecursively(Shape shape, final CompositeComponent eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("classText")) { + text.setValue(eClass.getName()); + } + } + } + + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + updateChildsRecursively(child, eClass); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..b205345940488e90cb80a524fa326a1b27017886 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java @@ -0,0 +1,34 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ExecutableExtensionFactory.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.internal; + +import com.google.inject.Injector; +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator; + +public class ExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + /** + * {@inheritDoc} + */ + @Override + protected Bundle getBundle() { + return Activator.getDefault().getBundle(); + } + + /** + * {@inheritDoc} + */ + @Override + protected Injector getInjector() { + return Activator.getDefault().getInjector(); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..ed93950488b281b64e44699217e0572b9a17ad1a --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java @@ -0,0 +1,15 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class AssemblyContextFilter extends AssemblyContextFilterBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java new file mode 100644 index 0000000000000000000000000000000000000000..039421202a65f4a2e1ee9e61098be7647775ca9e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java @@ -0,0 +1,31 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.AbstractPropertySectionFilter; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; + +public class AssemblyContextFilterBase extends AbstractPropertySectionFilter { + + /** + * {@inheritDoc} + */ + @Override + protected boolean accept(final PictogramElement pe) { + final EObject eObject = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + if (eObject instanceof AssemblyContext) { + return true; + } + return false; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java new file mode 100644 index 0000000000000000000000000000000000000000..d357e96ee9d32b1ba8093a05df75d52b21c636aa --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class AssemblyContextIdSection extends AssemblyContextIdSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java new file mode 100644 index 0000000000000000000000000000000000000000..d9ade984224a21ccdca29584c0aa9c3903d46b14 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.identifier.Identifier; +import edu.kit.ipd.descartes.identifier.Identifier; + +public abstract class AssemblyContextIdSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected Identifier bc = null; + protected Text idWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + idWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + idWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Id"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(idWidget, -HSPACE); + data.top = new FormAttachment(idWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + idWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a Identifier + if (bo == null) + return; + bc = (Identifier) bo; + String value = ""; + value = bc.getId(); + idWidget.setText(value == null ? "" : value); + idWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = idWidget.getText(); + if (!newValue.equals(bc.getId())) { + bc.setId(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java new file mode 100644 index 0000000000000000000000000000000000000000..67a8d93df79b2401e4d535d829357f74eceb8179 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class AssemblyContextNameSection extends AssemblyContextNameSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java new file mode 100644 index 0000000000000000000000000000000000000000..5b6146f545348aa28610b9bf94f512bf5497c7fc --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.core.NamedElement; +import edu.kit.ipd.descartes.core.NamedElement; + +public abstract class AssemblyContextNameSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected NamedElement bc = null; + protected Text nameWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + nameWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + nameWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Name"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(nameWidget, -HSPACE); + data.top = new FormAttachment(nameWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + nameWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a NamedElement + if (bo == null) + return; + bc = (NamedElement) bo; + String value = ""; + value = bc.getName(); + nameWidget.setText(value == null ? "" : value); + nameWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = nameWidget.getText(); + if (!newValue.equals(bc.getName())) { + bc.setName(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java new file mode 100644 index 0000000000000000000000000000000000000000..7658ab730c1cddc0b141e09e658510fbdb70b30f --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java @@ -0,0 +1,15 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositeComponentFilter extends CompositeComponentFilterBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java new file mode 100644 index 0000000000000000000000000000000000000000..ce5e83fd44773349976b489b3673dfb8c8ce390a --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java @@ -0,0 +1,31 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.AbstractPropertySectionFilter; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public class CompositeComponentFilterBase extends AbstractPropertySectionFilter { + + /** + * {@inheritDoc} + */ + @Override + protected boolean accept(final PictogramElement pe) { + final EObject eObject = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + if (eObject instanceof CompositeComponent) { + return true; + } + return false; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java new file mode 100644 index 0000000000000000000000000000000000000000..5de8092c5c51362c92778d350e8af36f75d96070 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class CompositeComponentIdSection extends CompositeComponentIdSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java new file mode 100644 index 0000000000000000000000000000000000000000..eff56a14fa128fdd7fe408913eac08104b491b96 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.identifier.Identifier; +import edu.kit.ipd.descartes.identifier.Identifier; + +public abstract class CompositeComponentIdSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected Identifier bc = null; + protected Text idWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + idWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + idWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Id"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(idWidget, -HSPACE); + data.top = new FormAttachment(idWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + idWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a Identifier + if (bo == null) + return; + bc = (Identifier) bo; + String value = ""; + value = bc.getId(); + idWidget.setText(value == null ? "" : value); + idWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = idWidget.getText(); + if (!newValue.equals(bc.getId())) { + bc.setId(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java new file mode 100644 index 0000000000000000000000000000000000000000..0d39c01d622175bcd57eb64780a42e8856674e98 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class CompositeComponentNameSection extends CompositeComponentNameSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java new file mode 100644 index 0000000000000000000000000000000000000000..ab15b1426f0e2a9b63d0f74db57c7b89c7d7948e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.core.NamedElement; +import edu.kit.ipd.descartes.core.NamedElement; + +public abstract class CompositeComponentNameSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected NamedElement bc = null; + protected Text nameWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + nameWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + nameWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Name"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(nameWidget, -HSPACE); + data.top = new FormAttachment(nameWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + nameWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a NamedElement + if (bo == null) + return; + bc = (NamedElement) bo; + String value = ""; + value = bc.getName(); + nameWidget.setText(value == null ? "" : value); + nameWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = nameWidget.getText(); + if (!newValue.equals(bc.getName())) { + bc.setName(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java new file mode 100644 index 0000000000000000000000000000000000000000..1952a57dc292bbe463599f5c9e366fe6811a7f61 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java @@ -0,0 +1,128 @@ +/** + * This is a generated Shape for Spray + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes; + +import java.util.List; +import java.util.ArrayList; +import org.eclipse.graphiti.mm.algorithms.styles.Point; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; + +import org.eclipse.graphiti.datatypes.IDimension; +import org.eclipse.graphiti.features.*; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipse.graphiti.services.IPeService; +import org.eclipse.graphiti.services.IPeCreateService; +import org.eclipse.graphiti.util.ColorConstant; +import org.eclipse.graphiti.util.IColorConstant; + +import org.eclipse.graphiti.mm.pictograms.*; +import org.eclipse.graphiti.mm.algorithms.*; +import org.eclipse.graphiti.mm.algorithms.styles.*; + +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayAbstractLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutType; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.shape.DefaultSprayShape; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +@SuppressWarnings("all") +public class CompositeShape extends DefaultSprayShape { + + public static enum TextIds { + context, + classText + } + + public CompositeShape(IFeatureProvider fp) { + super(fp); + } + + @Override + public ContainerShape getShape(ContainerShape targetContainer, ISprayStyle sprayStyle) { + // Create a ContainerShape for this Shape + Diagram diagram = peService.getDiagramForShape(targetContainer); + ContainerShape containerShape = peCreateService.createContainerShape(targetContainer, true); + SprayLayoutService.setId(containerShape, "CompositeShape.containerShape"); + + // define general layout for ContainerShape + sprayStyle.getStyle(diagram).setProportional(false); + sprayStyle.getStyle(diagram).setStretchH(false); + sprayStyle.getStyle(diagram).setStretchV(false); + + // layout data + SprayLayoutType containerLayout = SprayLayoutType.TOP; + SprayLayoutService.setLayoutManager(containerShape, containerLayout, 0, 0, true); + SprayLayoutService.getLayoutData(containerShape).setVisible(true); + + // creates the cascaded elements (figures) + IDirectEditingInfo directEditingInfo = getFeatureProvider().getDirectEditingInfo(); + directEditingInfo.setMainPictogramElement(containerShape); + directEditingInfo.setPictogramElement(containerShape); + + GraphicsAlgorithm element_0 = gaService.createInvisibleRectangle(containerShape); + element_0.setStyle(sprayStyle.getStyle(diagram)); + SprayLayoutService.setShapeFromDsl(containerShape, true); + gaService.setLocationAndSize(element_0, 0, 0, 100, 25); + + ContainerShape shape_1 = peCreateService.createContainerShape(containerShape, true); + SprayLayoutService.setId(shape_1, "CompositeShape.shape_1"); + SprayLayoutService.setCompartment(shape_1, true); + GraphitiProperties.set(shape_1, ISprayConstants.TEXT_ID, "context"); + SprayLayoutType layout_1 = SprayLayoutType.VERTICAL; + SprayLayoutService.setLayoutManager(shape_1, layout_1, 5, 5, true); + SprayLayoutService.setLayoutData(shape_1, 100, 25); + Rectangle element_1 = gaService.createPlainRectangle(shape_1); + ISprayStyle style_1 = sprayStyle; + element_1.setStyle(style_1.getStyle(diagram)); + gaService.setLocationAndSize(element_1, 0, 0, 100, 25); + SprayLayoutService.setLayoutData(shape_1, 100, 25, true); + // start RECURSIVEcREATION shape_1 + + Shape shape_2 = peCreateService.createShape(shape_1, false); + SprayLayoutService.setId(shape_2, "CompositeShape.shape_2"); + Text element_2 = gaService.createPlainText(shape_2); + ISprayStyle style_2 = style_1; + element_2.setStyle(style_2.getStyle(diagram)); + gaService.setLocationAndSize(element_2, 5, 0, 95, 25); + SprayLayoutService.setLayoutData(shape_2, 95, 25, true); + element_2.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT); + element_2.setVerticalAlignment(Orientation.ALIGNMENT_TOP); + peService.setPropertyValue(element_2, ISprayConstants.TEXT_ID, TextIds.classText.name()); + peService.setPropertyValue(shape_2, ISprayConstants.TEXT_ID, TextIds.classText.name()); + element_2.setValue(""); + getFeatureProvider().getDirectEditingInfo().setGraphicsAlgorithm(element_2); + // END createElement Text parent shape_1 + // end RECURSIVEcREATION shape_1 + + + // Set start values for height and width as properties on the element for Layout Feature + SprayLayoutManager.setSizePictogramProperties(containerShape); + + // creates the anchors + peCreateService.createChopboxAnchor(containerShape); + + // Fix the broken coordinate syaten for not active container shapes + SprayAbstractLayoutManager.fixOffset(containerShape); + return containerShape; + } + + public SprayLayoutManager getShapeLayout() { + SprayLayoutManager layoutManager = new SprayLayoutManager( ); + layoutManager.setMinSizeWidth(-1); + layoutManager.setMaxSizeWidth(-1); + layoutManager.setMinSizeHeight(-1); + layoutManager.setMaxSizeHeight(-1); + layoutManager.setStretchHorizontal(true); + layoutManager.setStretchVertical(true); + return layoutManager; + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java new file mode 100644 index 0000000000000000000000000000000000000000..b1151fc3825cd9a867df8a977d4eae7a12da0900 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java @@ -0,0 +1,123 @@ +/** + * This is a generated Shape for Spray + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes; + +import java.util.List; +import java.util.ArrayList; +import org.eclipse.graphiti.mm.algorithms.styles.Point; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; + +import org.eclipse.graphiti.datatypes.IDimension; +import org.eclipse.graphiti.features.*; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipse.graphiti.services.IPeService; +import org.eclipse.graphiti.services.IPeCreateService; +import org.eclipse.graphiti.util.ColorConstant; +import org.eclipse.graphiti.util.IColorConstant; + +import org.eclipse.graphiti.mm.pictograms.*; +import org.eclipse.graphiti.mm.algorithms.*; +import org.eclipse.graphiti.mm.algorithms.styles.*; + +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayAbstractLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutType; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.shape.DefaultSprayShape; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +@SuppressWarnings("all") +public class RectShape extends DefaultSprayShape { + + public static enum TextIds { + rectText + } + + public RectShape(IFeatureProvider fp) { + super(fp); + } + + @Override + public ContainerShape getShape(ContainerShape targetContainer, ISprayStyle sprayStyle) { + // Create a ContainerShape for this Shape + Diagram diagram = peService.getDiagramForShape(targetContainer); + ContainerShape containerShape = peCreateService.createContainerShape(targetContainer, true); + SprayLayoutService.setId(containerShape, "RectShape.containerShape"); + + // define general layout for ContainerShape + sprayStyle.getStyle(diagram).setProportional(false); + sprayStyle.getStyle(diagram).setStretchH(false); + sprayStyle.getStyle(diagram).setStretchV(false); + + // layout data + SprayLayoutType containerLayout = SprayLayoutType.TOP; + SprayLayoutService.setLayoutManager(containerShape, containerLayout, 0, 0, true); + SprayLayoutService.getLayoutData(containerShape).setVisible(true); + + // creates the cascaded elements (figures) + IDirectEditingInfo directEditingInfo = getFeatureProvider().getDirectEditingInfo(); + directEditingInfo.setMainPictogramElement(containerShape); + directEditingInfo.setPictogramElement(containerShape); + + GraphicsAlgorithm element_0 = gaService.createInvisibleRectangle(containerShape); + element_0.setStyle(sprayStyle.getStyle(diagram)); + SprayLayoutService.setShapeFromDsl(containerShape, true); + gaService.setLocationAndSize(element_0, 0, 0, 100, 25); + + ContainerShape shape_1 = peCreateService.createContainerShape(containerShape, false); + SprayLayoutService.setId(shape_1, "RectShape.shape_1"); + SprayLayoutService.setCompartment(shape_1, false); + Rectangle element_1 = gaService.createPlainRectangle(shape_1); + ISprayStyle style_1 = sprayStyle; + element_1.setStyle(style_1.getStyle(diagram)); + gaService.setLocationAndSize(element_1, 0, 0, 100, 25); + SprayLayoutService.setLayoutData(shape_1, 100, 25, true); + // start RECURSIVEcREATION shape_1 + + Shape shape_2 = peCreateService.createShape(shape_1, false); + SprayLayoutService.setId(shape_2, "RectShape.shape_2"); + Text element_2 = gaService.createPlainText(shape_2); + ISprayStyle style_2 = style_1; + element_2.setStyle(style_2.getStyle(diagram)); + gaService.setLocationAndSize(element_2, 5, 0, 95, 25); + SprayLayoutService.setLayoutData(shape_2, 95, 25, true); + element_2.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT); + element_2.setVerticalAlignment(Orientation.ALIGNMENT_TOP); + peService.setPropertyValue(element_2, ISprayConstants.TEXT_ID, TextIds.rectText.name()); + peService.setPropertyValue(shape_2, ISprayConstants.TEXT_ID, TextIds.rectText.name()); + element_2.setValue(""); + getFeatureProvider().getDirectEditingInfo().setGraphicsAlgorithm(element_2); + // END createElement Text parent shape_1 + // end RECURSIVEcREATION shape_1 + + + // Set start values for height and width as properties on the element for Layout Feature + SprayLayoutManager.setSizePictogramProperties(containerShape); + + // creates the anchors + peCreateService.createChopboxAnchor(containerShape); + + // Fix the broken coordinate syaten for not active container shapes + SprayAbstractLayoutManager.fixOffset(containerShape); + return containerShape; + } + + public SprayLayoutManager getShapeLayout() { + SprayLayoutManager layoutManager = new SprayLayoutManager( ); + layoutManager.setMinSizeWidth(-1); + layoutManager.setMaxSizeWidth(-1); + layoutManager.setMinSizeHeight(-1); + layoutManager.setMaxSizeHeight(-1); + layoutManager.setStretchHorizontal(true); + layoutManager.setStretchVertical(true); + return layoutManager; + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java new file mode 100644 index 0000000000000000000000000000000000000000..5e534eb8eb2e14afdeafbcb68766f9e7fb7df762 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java @@ -0,0 +1,76 @@ +/** + * This is a generated Style class for Spray. + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles; + +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.algorithms.styles.Style; +import org.eclipse.graphiti.mm.algorithms.styles.Color; +import org.eclipse.graphiti.mm.algorithms.styles.LineStyle; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipse.graphiti.util.ColorConstant; +import org.eclipse.graphiti.util.IColorConstant; +import org.eclipse.graphiti.mm.algorithms.styles.AdaptedGradientColoredAreas; +import org.eclipse.graphiti.util.IGradientType; +import org.eclipse.graphiti.mm.algorithms.styles.StylesFactory; +import org.eclipse.graphiti.util.IPredefinedRenderingStyle; +import org.eclipselabs.spray.styles.generator.util.GradientUtilClass; + + + /** + * This is a generated Style class for Spray. + * Description: The default style of the compositediagram diagram type. + */ + @SuppressWarnings("all") + public class CompositediagramDefaultStyle extends org.eclipselabs.spray.runtime.graphiti.styles.DefaultSprayStyle { + + /** + * This method creates a Style and returns the defined style. + * Description: The default style of the compositediagram diagram type. + */ + @Override + public Style newStyle(Diagram diagram) { + IGaService gaService = Graphiti.getGaService(); + + // Creating Style with given id and description + Style style = super.newStyle(diagram); + style.setId("CompositediagramDefaultStyle"); + style.setDescription("The default style of the compositediagram diagram type."); + + // transparency value + + // background attributes + + // line attributes + + // font attributes + String fontName = style.getFont().getName(); + int fontSize = 12; + boolean fontItalic = style.getFont().isItalic(); + boolean fontBold = style.getFont().isBold(); + style.setFont(gaService.manageFont(diagram, fontName, fontSize, fontItalic, fontBold)); + + + return style; + } + + /** + * This method returns the font color for the style. + * The font color will be returned separated, because Graphiti allows just the foreground color. + * The foreground color will be used for lines and fonts at the same time. + */ + @Override + public Color getFontColor(Diagram diagram) { + return super.getFontColor(diagram); + } + + /** + * This method returns Color Schema of the Style + */ + public AdaptedGradientColoredAreas getColorSchema() { + return null; + } + + + }