Sfoglia il codice sorgente

Share project "org.yakindu.sct.model.sgen.edit" into "https://svn.codespot.com/a/eclipselabs.org/yakindu"

Andreas Mülder 13 anni fa
parent
commit
cbead2570d
54 ha cambiato i file con 2427 aggiunte e 0 eliminazioni
  1. 7 0
      plugins/org.yakindu.sct.model.sgen.edit/.classpath
  2. 28 0
      plugins/org.yakindu.sct.model.sgen.edit/.project
  3. 22 0
      plugins/org.yakindu.sct.model.sgen.edit/META-INF/MANIFEST.MF
  4. 14 0
      plugins/org.yakindu.sct.model.sgen.edit/build.properties
  5. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureConfiguration_parameterValues_FeatureParameterValue.gif
  6. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XAssignment.gif
  7. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XBinaryOperation.gif
  8. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XBlockExpression.gif
  9. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XBooleanLiteral.gif
  10. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XCastedExpression.gif
  11. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XClosure.gif
  12. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XConstructorCall.gif
  13. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XDoWhileExpression.gif
  14. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XFeatureCall.gif
  15. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XForLoopExpression.gif
  16. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XIfExpression.gif
  17. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XInstanceOfExpression.gif
  18. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XIntLiteral.gif
  19. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XMemberFeatureCall.gif
  20. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XNullLiteral.gif
  21. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XReturnExpression.gif
  22. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XStringLiteral.gif
  23. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XSwitchExpression.gif
  24. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XThrowExpression.gif
  25. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XTryCatchFinallyExpression.gif
  26. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XTypeLiteral.gif
  27. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XUnaryOperation.gif
  28. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XVariableDeclaration.gif
  29. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XWhileExpression.gif
  30. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureTypeLibrary_types_FeatureType.gif
  31. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureType_parameters_FeatureParameter.gif
  32. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateGeneratorConfiguration_configurations_FeatureConfiguration.gif
  33. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateGeneratorEntry_features_FeatureConfiguration.gif
  34. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateGeneratorModel_entries_GeneratorEntry.gif
  35. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureConfiguration.gif
  36. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureParameter.gif
  37. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureParameterValue.gif
  38. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureType.gif
  39. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureTypeLibrary.gif
  40. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/GeneratorConfiguration.gif
  41. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/GeneratorEntry.gif
  42. BIN
      plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/GeneratorModel.gif
  43. 144 0
      plugins/org.yakindu.sct.model.sgen.edit/plugin.properties
  44. 25 0
      plugins/org.yakindu.sct.model.sgen.edit/plugin.xml
  45. 195 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureConfigurationItemProvider.java
  46. 186 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterItemProvider.java
  47. 307 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterValueItemProvider.java
  48. 226 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureTypeItemProvider.java
  49. 202 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureTypeLibraryItemProvider.java
  50. 171 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorConfigurationItemProvider.java
  51. 225 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorEntryItemProvider.java
  52. 202 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorModelItemProvider.java
  53. 371 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SGenItemProviderAdapterFactory.java
  54. 102 0
      plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SgenEditPlugin.java

+ 7 - 0
plugins/org.yakindu.sct.model.sgen.edit/.classpath

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

+ 28 - 0
plugins/org.yakindu.sct.model.sgen.edit/.project

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.yakindu.sct.model.sgen.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>

+ 22 - 0
plugins/org.yakindu.sct.model.sgen.edit/META-INF/MANIFEST.MF

@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.yakindu.sct.model.sgen.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.yakindu.sct.model.sgen.provider.SgenEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.yakindu.sct.model.sgen.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.yakindu.sct.model.sgen;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.yakindu.sct.model.sgraph;visibility:=reexport,
+ org.yakindu.sct.model.sgraph.edit;visibility:=reexport,
+ org.eclipse.xtext.common.types;visibility:=reexport,
+ org.eclipse.xtext.common.types.ui;visibility:=reexport,
+ org.eclipse.xtext.xbase;visibility:=reexport,
+ org.yakindu.base.types;visibility:=reexport,
+ org.yakindu.base.types.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy

+ 14 - 0
plugins/org.yakindu.sct.model.sgen.edit/build.properties

@@ -0,0 +1,14 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/

BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureConfiguration_parameterValues_FeatureParameterValue.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XAssignment.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XBinaryOperation.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XBlockExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XBooleanLiteral.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XCastedExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XClosure.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XConstructorCall.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XDoWhileExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XFeatureCall.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XForLoopExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XIfExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XInstanceOfExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XIntLiteral.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XMemberFeatureCall.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XNullLiteral.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XReturnExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XStringLiteral.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XSwitchExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XThrowExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XTryCatchFinallyExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XTypeLiteral.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XUnaryOperation.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XVariableDeclaration.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureParameterValue_expression_XWhileExpression.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureTypeLibrary_types_FeatureType.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateFeatureType_parameters_FeatureParameter.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateGeneratorConfiguration_configurations_FeatureConfiguration.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateGeneratorEntry_features_FeatureConfiguration.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/ctool16/CreateGeneratorModel_entries_GeneratorEntry.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureConfiguration.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureParameter.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureParameterValue.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureType.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/FeatureTypeLibrary.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/GeneratorConfiguration.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/GeneratorEntry.gif


BIN
plugins/org.yakindu.sct.model.sgen.edit/icons/full/obj16/GeneratorModel.gif


+ 144 - 0
plugins/org.yakindu.sct.model.sgen.edit/plugin.properties

@@ -0,0 +1,144 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = Sgen Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_GeneratorModel_type = Generator Model
+_UI_GeneratorConfiguration_type = Generator Configuration
+_UI_FeatureType_type = Feature Type
+_UI_FeatureParameter_type = Feature Parameter
+_UI_FeatureConfiguration_type = Feature Configuration
+_UI_GeneratorEntry_type = Generator Entry
+_UI_FeatureParameterValue_type = Feature Parameter Value
+_UI_FeatureTypeLibrary_type = Feature Type Library
+_UI_XExpression_type = XExpression
+_UI_XIfExpression_type = XIf Expression
+_UI_XSwitchExpression_type = XSwitch Expression
+_UI_XCasePart_type = XCase Part
+_UI_XBlockExpression_type = XBlock Expression
+_UI_XVariableDeclaration_type = XVariable Declaration
+_UI_XAbstractFeatureCall_type = XAbstract Feature Call
+_UI_XMemberFeatureCall_type = XMember Feature Call
+_UI_XFeatureCall_type = XFeature Call
+_UI_XConstructorCall_type = XConstructor Call
+_UI_XBooleanLiteral_type = XBoolean Literal
+_UI_XNullLiteral_type = XNull Literal
+_UI_XIntLiteral_type = XInt Literal
+_UI_XStringLiteral_type = XString Literal
+_UI_XClosure_type = XClosure
+_UI_XCastedExpression_type = XCasted Expression
+_UI_XBinaryOperation_type = XBinary Operation
+_UI_XUnaryOperation_type = XUnary Operation
+_UI_XForLoopExpression_type = XFor Loop Expression
+_UI_XAbstractWhileExpression_type = XAbstract While Expression
+_UI_XDoWhileExpression_type = XDo While Expression
+_UI_XWhileExpression_type = XWhile Expression
+_UI_XTypeLiteral_type = XType Literal
+_UI_XInstanceOfExpression_type = XInstance Of Expression
+_UI_XThrowExpression_type = XThrow Expression
+_UI_XTryCatchFinallyExpression_type = XTry Catch Finally Expression
+_UI_XCatchClause_type = XCatch Clause
+_UI_XAssignment_type = XAssignment
+_UI_XReturnExpression_type = XReturn Expression
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_GeneratorModel_entries_feature = Entries
+_UI_GeneratorModel_generatorId_feature = Generator Id
+_UI_GeneratorConfiguration_configurations_feature = Configurations
+_UI_FeatureType_parameters_feature = Parameters
+_UI_FeatureType_library_feature = Library
+_UI_FeatureType_optional_feature = Optional
+_UI_FeatureParameter_featureType_feature = Feature Type
+_UI_FeatureParameter_optional_feature = Optional
+_UI_FeatureParameter_parameterType_feature = Parameter Type
+_UI_FeatureConfiguration_type_feature = Type
+_UI_FeatureConfiguration_parameterValues_feature = Parameter Values
+_UI_GeneratorEntry_elementRef_feature = Element Ref
+_UI_GeneratorEntry_features_feature = Features
+_UI_GeneratorEntry_contentType_feature = Content Type
+_UI_FeatureParameterValue_parameter_feature = Parameter
+_UI_FeatureParameterValue_featureConfiguration_feature = Feature Configuration
+_UI_FeatureParameterValue_expression_feature = Expression
+_UI_FeatureTypeLibrary_types_feature = Types
+_UI_FeatureTypeLibrary_name_feature = Name
+_UI_XIfExpression_if_feature = If
+_UI_XIfExpression_then_feature = Then
+_UI_XIfExpression_else_feature = Else
+_UI_XSwitchExpression_switch_feature = Switch
+_UI_XSwitchExpression_cases_feature = Cases
+_UI_XSwitchExpression_default_feature = Default
+_UI_XSwitchExpression_localVarName_feature = Local Var Name
+_UI_XCasePart_case_feature = Case
+_UI_XCasePart_then_feature = Then
+_UI_XCasePart_typeGuard_feature = Type Guard
+_UI_XBlockExpression_expressions_feature = Expressions
+_UI_XVariableDeclaration_type_feature = Type
+_UI_XVariableDeclaration_name_feature = Name
+_UI_XVariableDeclaration_right_feature = Right
+_UI_XVariableDeclaration_writeable_feature = Writeable
+_UI_XAbstractFeatureCall_feature_feature = Feature
+_UI_XAbstractFeatureCall_typeArguments_feature = Type Arguments
+_UI_XAbstractFeatureCall_implicitReceiver_feature = Implicit Receiver
+_UI_XAbstractFeatureCall_invalidFeatureIssueCode_feature = Invalid Feature Issue Code
+_UI_XAbstractFeatureCall_validFeature_feature = Valid Feature
+_UI_XMemberFeatureCall_memberCallTarget_feature = Member Call Target
+_UI_XMemberFeatureCall_memberCallArguments_feature = Member Call Arguments
+_UI_XMemberFeatureCall_explicitOperationCall_feature = Explicit Operation Call
+_UI_XMemberFeatureCall_spreading_feature = Spreading
+_UI_XMemberFeatureCall_nullSafe_feature = Null Safe
+_UI_XFeatureCall_featureCallArguments_feature = Feature Call Arguments
+_UI_XFeatureCall_explicitOperationCall_feature = Explicit Operation Call
+_UI_XFeatureCall_declaringType_feature = Declaring Type
+_UI_XConstructorCall_constructor_feature = Constructor
+_UI_XConstructorCall_arguments_feature = Arguments
+_UI_XConstructorCall_typeArguments_feature = Type Arguments
+_UI_XConstructorCall_invalidFeatureIssueCode_feature = Invalid Feature Issue Code
+_UI_XConstructorCall_validFeature_feature = Valid Feature
+_UI_XBooleanLiteral_isTrue_feature = Is True
+_UI_XIntLiteral_value_feature = Value
+_UI_XStringLiteral_value_feature = Value
+_UI_XClosure_formalParameters_feature = Formal Parameters
+_UI_XClosure_expression_feature = Expression
+_UI_XCastedExpression_type_feature = Type
+_UI_XCastedExpression_target_feature = Target
+_UI_XBinaryOperation_leftOperand_feature = Left Operand
+_UI_XBinaryOperation_rightOperand_feature = Right Operand
+_UI_XUnaryOperation_operand_feature = Operand
+_UI_XForLoopExpression_forExpression_feature = For Expression
+_UI_XForLoopExpression_eachExpression_feature = Each Expression
+_UI_XForLoopExpression_declaredParam_feature = Declared Param
+_UI_XAbstractWhileExpression_predicate_feature = Predicate
+_UI_XAbstractWhileExpression_body_feature = Body
+_UI_XTypeLiteral_type_feature = Type
+_UI_XInstanceOfExpression_type_feature = Type
+_UI_XInstanceOfExpression_expression_feature = Expression
+_UI_XThrowExpression_expression_feature = Expression
+_UI_XTryCatchFinallyExpression_expression_feature = Expression
+_UI_XTryCatchFinallyExpression_finallyExpression_feature = Finally Expression
+_UI_XTryCatchFinallyExpression_catchClauses_feature = Catch Clauses
+_UI_XCatchClause_expression_feature = Expression
+_UI_XCatchClause_declaredParam_feature = Declared Param
+_UI_XAssignment_assignable_feature = Assignable
+_UI_XAssignment_value_feature = Value
+_UI_XReturnExpression_expression_feature = Expression
+_UI_Unknown_feature = Unspecified
+
+_UI_ParameterTypes_STRING_literal = STRING
+_UI_ParameterTypes_FLOAT_literal = FLOAT
+_UI_ParameterTypes_BOOLEAN_literal = BOOLEAN
+_UI_ParameterTypes_INTEGER_literal = INTEGER

+ 25 - 0
plugins/org.yakindu.sct.model.sgen.edit/plugin.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.yakindu.org/sct/statechart/SGen"
+            class="org.yakindu.sct.model.sgen.provider.SGenItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>

+ 195 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureConfigurationItemProvider.java

@@ -0,0 +1,195 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.FeatureConfiguration;
+import org.yakindu.sct.model.sgen.SGenFactory;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.FeatureConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureConfigurationItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureConfigurationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureConfiguration_type_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureConfiguration_type_feature", "_UI_FeatureConfiguration_type"),
+				 SGenPackage.Literals.FEATURE_CONFIGURATION__TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.FEATURE_CONFIGURATION__PARAMETER_VALUES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns FeatureConfiguration.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FeatureConfiguration"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_FeatureConfiguration_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FeatureConfiguration.class)) {
+			case SGenPackage.FEATURE_CONFIGURATION__PARAMETER_VALUES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_CONFIGURATION__PARAMETER_VALUES,
+				 SGenFactory.eINSTANCE.createFeatureParameterValue()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 186 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterItemProvider.java

@@ -0,0 +1,186 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.base.base.provider.NamedElementItemProvider;
+
+import org.yakindu.sct.model.sgen.FeatureParameter;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.FeatureParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureParameterItemProvider
+	extends NamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureParameterItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addOptionalPropertyDescriptor(object);
+			addParameterTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Optional feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOptionalPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureParameter_optional_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureParameter_optional_feature", "_UI_FeatureParameter_type"),
+				 SGenPackage.Literals.FEATURE_PARAMETER__OPTIONAL,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Parameter Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParameterTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureParameter_parameterType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureParameter_parameterType_feature", "_UI_FeatureParameter_type"),
+				 SGenPackage.Literals.FEATURE_PARAMETER__PARAMETER_TYPE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FeatureParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FeatureParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((FeatureParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FeatureParameter_type") :
+			getString("_UI_FeatureParameter_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FeatureParameter.class)) {
+			case SGenPackage.FEATURE_PARAMETER__OPTIONAL:
+			case SGenPackage.FEATURE_PARAMETER__PARAMETER_TYPE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 307 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureParameterValueItemProvider.java

@@ -0,0 +1,307 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.xtext.xbase.XbaseFactory;
+import org.yakindu.sct.model.sgen.FeatureParameterValue;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.FeatureParameterValue} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+@SuppressWarnings("restriction")
+public class FeatureParameterValueItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureParameterValueItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addParameterPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureParameterValue_parameter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureParameterValue_parameter_feature", "_UI_FeatureParameterValue_type"),
+				 SGenPackage.Literals.FEATURE_PARAMETER_VALUE__PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns FeatureParameterValue.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FeatureParameterValue"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_FeatureParameterValue_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FeatureParameterValue.class)) {
+			case SGenPackage.FEATURE_PARAMETER_VALUE__EXPRESSION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXIfExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXSwitchExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXBlockExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXVariableDeclaration()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXMemberFeatureCall()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXFeatureCall()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXConstructorCall()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXNullLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXStringLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXClosure()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXCastedExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXBinaryOperation()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXUnaryOperation()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXForLoopExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXDoWhileExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXWhileExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXTypeLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXInstanceOfExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXThrowExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXTryCatchFinallyExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXAssignment()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_PARAMETER_VALUE__EXPRESSION,
+				 XbaseFactory.eINSTANCE.createXReturnExpression()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 226 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureTypeItemProvider.java

@@ -0,0 +1,226 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.base.base.provider.NamedElementItemProvider;
+
+import org.yakindu.sct.model.sgen.FeatureType;
+import org.yakindu.sct.model.sgen.SGenFactory;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.FeatureType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureTypeItemProvider
+	extends NamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addLibraryPropertyDescriptor(object);
+			addOptionalPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Library feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLibraryPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureType_library_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureType_library_feature", "_UI_FeatureType_type"),
+				 SGenPackage.Literals.FEATURE_TYPE__LIBRARY,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Optional feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOptionalPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureType_optional_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureType_optional_feature", "_UI_FeatureType_type"),
+				 SGenPackage.Literals.FEATURE_TYPE__OPTIONAL,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.FEATURE_TYPE__PARAMETERS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns FeatureType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FeatureType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((FeatureType)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FeatureType_type") :
+			getString("_UI_FeatureType_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FeatureType.class)) {
+			case SGenPackage.FEATURE_TYPE__OPTIONAL:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case SGenPackage.FEATURE_TYPE__PARAMETERS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_TYPE__PARAMETERS,
+				 SGenFactory.eINSTANCE.createFeatureParameter()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 202 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/FeatureTypeLibraryItemProvider.java

@@ -0,0 +1,202 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
+import org.yakindu.sct.model.sgen.SGenFactory;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.FeatureTypeLibrary} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FeatureTypeLibraryItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FeatureTypeLibraryItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addNamePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FeatureTypeLibrary_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FeatureTypeLibrary_name_feature", "_UI_FeatureTypeLibrary_type"),
+				 SGenPackage.Literals.FEATURE_TYPE_LIBRARY__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.FEATURE_TYPE_LIBRARY__TYPES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns FeatureTypeLibrary.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FeatureTypeLibrary"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((FeatureTypeLibrary)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FeatureTypeLibrary_type") :
+			getString("_UI_FeatureTypeLibrary_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FeatureTypeLibrary.class)) {
+			case SGenPackage.FEATURE_TYPE_LIBRARY__NAME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case SGenPackage.FEATURE_TYPE_LIBRARY__TYPES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.FEATURE_TYPE_LIBRARY__TYPES,
+				 SGenFactory.eINSTANCE.createFeatureType()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 171 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorConfigurationItemProvider.java

@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.GeneratorConfiguration;
+import org.yakindu.sct.model.sgen.SGenFactory;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.GeneratorConfiguration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GeneratorConfigurationItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public GeneratorConfigurationItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.GENERATOR_CONFIGURATION__CONFIGURATIONS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns GeneratorConfiguration.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/GeneratorConfiguration"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_GeneratorConfiguration_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(GeneratorConfiguration.class)) {
+			case SGenPackage.GENERATOR_CONFIGURATION__CONFIGURATIONS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.GENERATOR_CONFIGURATION__CONFIGURATIONS,
+				 SGenFactory.eINSTANCE.createFeatureConfiguration()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 225 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorEntryItemProvider.java

@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.GeneratorEntry;
+import org.yakindu.sct.model.sgen.SGenFactory;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.GeneratorEntry} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GeneratorEntryItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public GeneratorEntryItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addElementRefPropertyDescriptor(object);
+			addContentTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Element Ref feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addElementRefPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_GeneratorEntry_elementRef_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_GeneratorEntry_elementRef_feature", "_UI_GeneratorEntry_type"),
+				 SGenPackage.Literals.GENERATOR_ENTRY__ELEMENT_REF,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Content Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addContentTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_GeneratorEntry_contentType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_GeneratorEntry_contentType_feature", "_UI_GeneratorEntry_type"),
+				 SGenPackage.Literals.GENERATOR_ENTRY__CONTENT_TYPE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.GENERATOR_ENTRY__FEATURES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns GeneratorEntry.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/GeneratorEntry"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((GeneratorEntry)object).getContentType();
+		return label == null || label.length() == 0 ?
+			getString("_UI_GeneratorEntry_type") :
+			getString("_UI_GeneratorEntry_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(GeneratorEntry.class)) {
+			case SGenPackage.GENERATOR_ENTRY__CONTENT_TYPE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case SGenPackage.GENERATOR_ENTRY__FEATURES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.GENERATOR_ENTRY__FEATURES,
+				 SGenFactory.eINSTANCE.createFeatureConfiguration()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 202 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/GeneratorModelItemProvider.java

@@ -0,0 +1,202 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.yakindu.sct.model.sgen.GeneratorModel;
+import org.yakindu.sct.model.sgen.SGenFactory;
+import org.yakindu.sct.model.sgen.SGenPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.yakindu.sct.model.sgen.GeneratorModel} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GeneratorModelItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public GeneratorModelItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addGeneratorIdPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Generator Id feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addGeneratorIdPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_GeneratorModel_generatorId_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_GeneratorModel_generatorId_feature", "_UI_GeneratorModel_type"),
+				 SGenPackage.Literals.GENERATOR_MODEL__GENERATOR_ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(SGenPackage.Literals.GENERATOR_MODEL__ENTRIES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns GeneratorModel.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/GeneratorModel"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((GeneratorModel)object).getGeneratorId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_GeneratorModel_type") :
+			getString("_UI_GeneratorModel_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(GeneratorModel.class)) {
+			case SGenPackage.GENERATOR_MODEL__GENERATOR_ID:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case SGenPackage.GENERATOR_MODEL__ENTRIES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(SGenPackage.Literals.GENERATOR_MODEL__ENTRIES,
+				 SGenFactory.eINSTANCE.createGeneratorEntry()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return SgenEditPlugin.INSTANCE;
+	}
+
+}

+ 371 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SGenItemProviderAdapterFactory.java

@@ -0,0 +1,371 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.yakindu.sct.model.sgen.util.SGenAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SGenItemProviderAdapterFactory extends SGenAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SGenItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.GeneratorModel} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected GeneratorModelItemProvider generatorModelItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.GeneratorModel}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createGeneratorModelAdapter() {
+		if (generatorModelItemProvider == null) {
+			generatorModelItemProvider = new GeneratorModelItemProvider(this);
+		}
+
+		return generatorModelItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.GeneratorConfiguration} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected GeneratorConfigurationItemProvider generatorConfigurationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.GeneratorConfiguration}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createGeneratorConfigurationAdapter() {
+		if (generatorConfigurationItemProvider == null) {
+			generatorConfigurationItemProvider = new GeneratorConfigurationItemProvider(this);
+		}
+
+		return generatorConfigurationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FeatureTypeItemProvider featureTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFeatureTypeAdapter() {
+		if (featureTypeItemProvider == null) {
+			featureTypeItemProvider = new FeatureTypeItemProvider(this);
+		}
+
+		return featureTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FeatureParameterItemProvider featureParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFeatureParameterAdapter() {
+		if (featureParameterItemProvider == null) {
+			featureParameterItemProvider = new FeatureParameterItemProvider(this);
+		}
+
+		return featureParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureConfiguration} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FeatureConfigurationItemProvider featureConfigurationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureConfiguration}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFeatureConfigurationAdapter() {
+		if (featureConfigurationItemProvider == null) {
+			featureConfigurationItemProvider = new FeatureConfigurationItemProvider(this);
+		}
+
+		return featureConfigurationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.GeneratorEntry} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected GeneratorEntryItemProvider generatorEntryItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.GeneratorEntry}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createGeneratorEntryAdapter() {
+		if (generatorEntryItemProvider == null) {
+			generatorEntryItemProvider = new GeneratorEntryItemProvider(this);
+		}
+
+		return generatorEntryItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureParameterValue} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FeatureParameterValueItemProvider featureParameterValueItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureParameterValue}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFeatureParameterValueAdapter() {
+		if (featureParameterValueItemProvider == null) {
+			featureParameterValueItemProvider = new FeatureParameterValueItemProvider(this);
+		}
+
+		return featureParameterValueItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureTypeLibrary} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FeatureTypeLibraryItemProvider featureTypeLibraryItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureTypeLibrary}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFeatureTypeLibraryAdapter() {
+		if (featureTypeLibraryItemProvider == null) {
+			featureTypeLibraryItemProvider = new FeatureTypeLibraryItemProvider(this);
+		}
+
+		return featureTypeLibraryItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (generatorModelItemProvider != null) generatorModelItemProvider.dispose();
+		if (generatorConfigurationItemProvider != null) generatorConfigurationItemProvider.dispose();
+		if (featureTypeItemProvider != null) featureTypeItemProvider.dispose();
+		if (featureParameterItemProvider != null) featureParameterItemProvider.dispose();
+		if (featureConfigurationItemProvider != null) featureConfigurationItemProvider.dispose();
+		if (generatorEntryItemProvider != null) generatorEntryItemProvider.dispose();
+		if (featureParameterValueItemProvider != null) featureParameterValueItemProvider.dispose();
+		if (featureTypeLibraryItemProvider != null) featureTypeLibraryItemProvider.dispose();
+	}
+
+}

+ 102 - 0
plugins/org.yakindu.sct.model.sgen.edit/src/org/yakindu/sct/model/sgen/provider/SgenEditPlugin.java

@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.yakindu.sct.model.sgen.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.xtext.common.types.provider.TypesEditPlugin;
+
+import org.yakindu.base.base.provider.BaseEditPlugin;
+
+import org.yakindu.sct.model.sgraph.provider.SGraphEditPlugin;
+
+/**
+ * This is the central singleton for the Sgen edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class SgenEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final SgenEditPlugin INSTANCE = new SgenEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SgenEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     SGraphEditPlugin.INSTANCE,
+		     TypesEditPlugin.INSTANCE,
+		     BaseEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}