Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoratikhomirov2006-01-09 20:28:34 +0000
committeratikhomirov2006-01-09 20:28:34 +0000
commit3647be9a88c68519b9598b6f71791326d73c06bc (patch)
tree8bf61c3b164211ac529a6ab2e76851b95bf15c53 /plugins/org.eclipse.gmf.tooldef
parent3d2ed0a6f20d2a5e5ecb0eeb0d30e8e0ae4255ed (diff)
downloadorg.eclipse.gmf-tooling-3647be9a88c68519b9598b6f71791326d73c06bc.tar.gz
org.eclipse.gmf-tooling-3647be9a88c68519b9598b6f71791326d73c06bc.tar.xz
org.eclipse.gmf-tooling-3647be9a88c68519b9598b6f71791326d73c06bc.zip
#114197 tooling definition is out for real world.
Diffstat (limited to 'plugins/org.eclipse.gmf.tooldef')
-rw-r--r--plugins/org.eclipse.gmf.tooldef/.classpath7
-rw-r--r--plugins/org.eclipse.gmf.tooldef/.cvsignore1
-rw-r--r--plugins/org.eclipse.gmf.tooldef/.project28
-rw-r--r--plugins/org.eclipse.gmf.tooldef/META-INF/MANIFEST.MF14
-rw-r--r--plugins/org.eclipse.gmf.tooldef/build.properties14
-rw-r--r--plugins/org.eclipse.gmf.tooldef/models/tooldef.ecore124
-rw-r--r--plugins/org.eclipse.gmf.tooldef/models/tooldef.genmodel107
-rw-r--r--plugins/org.eclipse.gmf.tooldef/plugin.properties20
-rw-r--r--plugins/org.eclipse.gmf.tooldef/plugin.xml21
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AbstractTool.java135
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ActionKind.java230
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AppearanceStyle.java176
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/BundleImage.java79
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContextMenu.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContributionItem.java79
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/CreationTool.java20
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/DefaultImage.java24
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolFactory.java208
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolPackage.java1786
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericStyleSelector.java55
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericTool.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Image.java22
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemBase.java22
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemRef.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MainMenu.java56
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Menu.java46
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MenuAction.java82
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Palette.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PaletteSeparator.java20
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PopupMenu.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedItem.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedMenu.java20
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Separator.java52
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardTool.java59
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardToolKind.java257
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StyleSelector.java30
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolContainer.java44
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolGroup.java79
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolRegistry.java89
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Toolbar.java20
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/AbstractToolImpl.java368
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/BundleImageImpl.java216
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ContextMenuImpl.java156
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/CreationToolImpl.java42
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/DefaultImageImpl.java44
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolFactoryImpl.java413
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolPackageImpl.java1131
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericStyleSelectorImpl.java176
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericToolImpl.java161
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ItemRefImpl.java157
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MainMenuImpl.java161
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuActionImpl.java354
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuImpl.java149
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteImpl.java156
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteSeparatorImpl.java42
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PopupMenuImpl.java350
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedItemImpl.java162
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedMenuImpl.java209
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/SeparatorImpl.java162
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/StandardToolImpl.java162
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolContainerImpl.java147
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolGroupImpl.java224
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolRegistryImpl.java258
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolbarImpl.java42
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolAdapterFactory.java569
-rw-r--r--plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolSwitch.java732
66 files changed, 11081 insertions, 0 deletions
diff --git a/plugins/org.eclipse.gmf.tooldef/.classpath b/plugins/org.eclipse.gmf.tooldef/.classpath
new file mode 100644
index 000000000..751c8f2e5
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.gmf.tooldef/.cvsignore b/plugins/org.eclipse.gmf.tooldef/.cvsignore
new file mode 100644
index 000000000..ba077a403
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/plugins/org.eclipse.gmf.tooldef/.project b/plugins/org.eclipse.gmf.tooldef/.project
new file mode 100644
index 000000000..b1e5d3300
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.gmf.tooldef</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.gmf.tooldef/META-INF/MANIFEST.MF b/plugins/org.eclipse.gmf.tooldef/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..4f46e6aa6
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.gmf.tooldef; singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.gmf.tooldef,
+ org.eclipse.gmf.tooldef.impl,
+ org.eclipse.gmf.tooldef.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport
+Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.gmf.tooldef/build.properties b/plugins/org.eclipse.gmf.tooldef/build.properties
new file mode 100644
index 000000000..2b0182de5
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/build.properties
@@ -0,0 +1,14 @@
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = models/
diff --git a/plugins/org.eclipse.gmf.tooldef/models/tooldef.ecore b/plugins/org.eclipse.gmf.tooldef/models/tooldef.ecore
new file mode 100644
index 000000000..5968f5105
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/models/tooldef.ecore
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="tooldef"
+ nsURI="http://www.eclipse.org/gmf/2005/ToolDefinition" nsPrefix="gmftool">
+ <eClassifiers xsi:type="ecore:EClass" name="ToolRegistry">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sharedActions" upperBound="-1"
+ eType="#//MenuAction" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Instead of placing&#x9;common actions somewhere in menu hierarchy and referencing them in (2..n) cases, keep them in this central registry and use ItemRef everywhere (i.e. in 1..n cases)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="allMenus" upperBound="-1"
+ eType="#//Menu" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="palette" eType="#//Palette"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractTool" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="smallIcon" eType="#//Image"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="largeIcon" eType="#//Image"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolContainer" abstract="true" eSuperTypes="#//AbstractTool">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tools" upperBound="-1"
+ eType="#//AbstractTool" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PaletteSeparator" eSuperTypes="#//AbstractTool"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolGroup" eSuperTypes="#//ToolContainer">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="collapsible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="active" eType="#//AbstractTool"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Palette" eSuperTypes="#//ToolContainer">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="default" eType="#//AbstractTool"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StandardTool" eSuperTypes="#//AbstractTool">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="predefined, like zoom or marquee"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="toolKind" eType="#//StandardToolKind"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="StandardToolKind">
+ <eLiterals name="SELECT"/>
+ <eLiterals name="SELECT_PAN" value="1"/>
+ <eLiterals name="MARQUEE" value="2"/>
+ <eLiterals name="ZOOM_PAN" value="3"/>
+ <eLiterals name="ZOOM_IN" value="4"/>
+ <eLiterals name="ZOOM_OUT" value="5"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CreationTool" eSuperTypes="#//AbstractTool"/>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericTool" eSuperTypes="#//AbstractTool">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="toolClass" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemBase" interface="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Menu" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
+ eType="#//ItemBase" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Separator" eSuperTypes="#//ItemBase">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PredefinedItem" eSuperTypes="#//ItemBase">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="identifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PredefinedMenu" eSuperTypes="#//Menu #//PredefinedItem"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ContributionItem" interface="true" eSuperTypes="#//ItemBase">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="icon" eType="#//Image"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MenuAction" eSuperTypes="#//ContributionItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ActionKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hotKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemRef" eSuperTypes="#//ItemBase">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1" eType="#//ItemBase"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ContextMenu" eSuperTypes="#//Menu">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="default" eType="#//MenuAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PopupMenu" eSuperTypes="#//Menu #//ContributionItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="iD" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ iD="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MainMenu" eSuperTypes="#//Menu">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="no default action and no id, just a collection of items"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Toolbar" eSuperTypes="#//Menu"/>
+ <eClassifiers xsi:type="ecore:EEnum" name="ActionKind">
+ <eLiterals name="CREATE"/>
+ <eLiterals name="PROPCHANGE" value="1"/>
+ <eLiterals name="MODIFY" value="2"/>
+ <eLiterals name="PROCESS" value="3"/>
+ <eLiterals name="CUSTOM" value="99"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Image" interface="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DefaultImage" eSuperTypes="#//Image">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Delegate to EMF.Edit providers"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BundleImage" eSuperTypes="#//Image">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="bundle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StyleSelector" interface="true">
+ <eOperations name="isOk" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="style" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericStyleSelector" eSuperTypes="#//StyleSelector">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//AppearanceStyle"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="AppearanceStyle">
+ <eLiterals name="Font"/>
+ <eLiterals name="Fill" value="1"/>
+ <eLiterals name="Line" value="2"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.gmf.tooldef/models/tooldef.genmodel b/plugins/org.eclipse.gmf.tooldef/models/tooldef.genmodel
new file mode 100644
index 000000000..663c89f07
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/models/tooldef.genmodel
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.gmf.tooldef/src"
+ editorDirectory="/org.eclipse.gmf.tooldef.edit/src" modelPluginID="org.eclipse.gmf.tooldef"
+ templateDirectory="" redirection="" modelName="GMFTool" editorPluginClass="org.eclipse.gmf.tooldef.provider.GMFToolEditPlugin"
+ codeFormatting="true" importerID="org.eclipse.emf.importer.ecore">
+ <foreignModel>tooldef.ecore</foreignModel>
+ <genPackages prefix="GMFTool" basePackage="org.eclipse.gmf" disposableProviderFactory="true"
+ literalsInterface="false" ecorePackage="tooldef.ecore#/">
+ <genEnums ecoreEnum="tooldef.ecore#//StandardToolKind">
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//StandardToolKind/SELECT"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//StandardToolKind/SELECT_PAN"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//StandardToolKind/MARQUEE"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//StandardToolKind/ZOOM_PAN"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//StandardToolKind/ZOOM_IN"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//StandardToolKind/ZOOM_OUT"/>
+ </genEnums>
+ <genEnums ecoreEnum="tooldef.ecore#//ActionKind">
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//ActionKind/CREATE"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//ActionKind/PROPCHANGE"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//ActionKind/MODIFY"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//ActionKind/PROCESS"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//ActionKind/CUSTOM"/>
+ </genEnums>
+ <genEnums ecoreEnum="tooldef.ecore#//AppearanceStyle">
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//AppearanceStyle/Font"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//AppearanceStyle/Fill"/>
+ <genEnumLiterals ecoreEnumLiteral="tooldef.ecore#//AppearanceStyle/Line"/>
+ </genEnums>
+ <genClasses ecoreClass="tooldef.ecore#//ToolRegistry">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//ToolRegistry/sharedActions"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//ToolRegistry/allMenus"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//ToolRegistry/palette"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="tooldef.ecore#//AbstractTool">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//AbstractTool/smallIcon"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//AbstractTool/largeIcon"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//AbstractTool/title"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//AbstractTool/description"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="tooldef.ecore#//ToolContainer">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//ToolContainer/tools"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//PaletteSeparator"/>
+ <genClasses ecoreClass="tooldef.ecore#//ToolGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//ToolGroup/collapsible"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference tooldef.ecore#//ToolGroup/active"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//Palette">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference tooldef.ecore#//Palette/default"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//StandardTool">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//StandardTool/toolKind"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//CreationTool"/>
+ <genClasses ecoreClass="tooldef.ecore#//GenericTool">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//GenericTool/toolClass"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//ItemBase"/>
+ <genClasses image="false" ecoreClass="tooldef.ecore#//Menu">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//Menu/items"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//Separator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//Separator/name"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//PredefinedItem">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//PredefinedItem/identifier"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//PredefinedMenu"/>
+ <genClasses ecoreClass="tooldef.ecore#//ContributionItem">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference tooldef.ecore#//ContributionItem/icon"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//ContributionItem/title"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//MenuAction">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//MenuAction/kind"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//MenuAction/hotKey"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//ItemRef">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference tooldef.ecore#//ItemRef/item"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//ContextMenu">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference tooldef.ecore#//ContextMenu/default"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//PopupMenu">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//PopupMenu/iD"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//MainMenu">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//MainMenu/title"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//Toolbar"/>
+ <genClasses ecoreClass="tooldef.ecore#//Image"/>
+ <genClasses ecoreClass="tooldef.ecore#//DefaultImage"/>
+ <genClasses ecoreClass="tooldef.ecore#//BundleImage">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//BundleImage/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//BundleImage/bundle"/>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//StyleSelector">
+ <genOperations ecoreOperation="tooldef.ecore#//StyleSelector/isOk">
+ <genParameters ecoreParameter="tooldef.ecore#//StyleSelector/isOk/style"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="tooldef.ecore#//GenericStyleSelector">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute tooldef.ecore#//GenericStyleSelector/value"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.gmf.tooldef/plugin.properties b/plugins/org.eclipse.gmf.tooldef/plugin.properties
new file mode 100644
index 000000000..57b0801cb
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/plugin.properties
@@ -0,0 +1,20 @@
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = GMFTool Model
+providerName = www.example.org
+
diff --git a/plugins/org.eclipse.gmf.tooldef/plugin.xml b/plugins/org.eclipse.gmf.tooldef/plugin.xml
new file mode 100644
index 000000000..f353aeac3
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/plugin.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/gmf/2005/ToolDefinition"
+ class = "org.eclipse.gmf.tooldef.GMFToolPackage"
+ genModel = "models/tooldef.genmodel" />
+ </extension>
+
+</plugin>
+
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AbstractTool.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AbstractTool.java
new file mode 100644
index 000000000..12799a2a7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AbstractTool.java
@@ -0,0 +1,135 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Tool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.AbstractTool#getSmallIcon <em>Small Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.AbstractTool#getLargeIcon <em>Large Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.AbstractTool#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.AbstractTool#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getAbstractTool()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractTool extends EObject {
+ /**
+ * Returns the value of the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Small Icon</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Small Icon</em>' containment reference.
+ * @see #setSmallIcon(Image)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getAbstractTool_SmallIcon()
+ * @model containment="true"
+ * @generated
+ */
+ Image getSmallIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.AbstractTool#getSmallIcon <em>Small Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Small Icon</em>' containment reference.
+ * @see #getSmallIcon()
+ * @generated
+ */
+ void setSmallIcon(Image value);
+
+ /**
+ * Returns the value of the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Large Icon</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Large Icon</em>' containment reference.
+ * @see #setLargeIcon(Image)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getAbstractTool_LargeIcon()
+ * @model containment="true"
+ * @generated
+ */
+ Image getLargeIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.AbstractTool#getLargeIcon <em>Large Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Large Icon</em>' containment reference.
+ * @see #getLargeIcon()
+ * @generated
+ */
+ void setLargeIcon(Image value);
+
+ /**
+ * Returns the value of the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Title</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Title</em>' attribute.
+ * @see #setTitle(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getAbstractTool_Title()
+ * @model
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.AbstractTool#getTitle <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Title</em>' attribute.
+ * @see #getTitle()
+ * @generated
+ */
+ void setTitle(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getAbstractTool_Description()
+ * @model
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.AbstractTool#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+} // AbstractTool
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ActionKind.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ActionKind.java
new file mode 100644
index 000000000..b9e8e4fdd
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ActionKind.java
@@ -0,0 +1,230 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Action Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getActionKind()
+ * @model
+ * @generated
+ */
+public final class ActionKind extends AbstractEnumerator {
+ /**
+ * The '<em><b>CREATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CREATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CREATE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CREATE = 0;
+
+ /**
+ * The '<em><b>PROPCHANGE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PROPCHANGE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROPCHANGE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PROPCHANGE = 1;
+
+ /**
+ * The '<em><b>MODIFY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MODIFY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MODIFY_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MODIFY = 2;
+
+ /**
+ * The '<em><b>PROCESS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PROCESS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROCESS_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PROCESS = 3;
+
+ /**
+ * The '<em><b>CUSTOM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CUSTOM</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CUSTOM_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CUSTOM = 99;
+
+ /**
+ * The '<em><b>CREATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CREATE
+ * @generated
+ * @ordered
+ */
+ public static final ActionKind CREATE_LITERAL = new ActionKind(CREATE, "CREATE", "CREATE");
+
+ /**
+ * The '<em><b>PROPCHANGE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROPCHANGE
+ * @generated
+ * @ordered
+ */
+ public static final ActionKind PROPCHANGE_LITERAL = new ActionKind(PROPCHANGE, "PROPCHANGE", "PROPCHANGE");
+
+ /**
+ * The '<em><b>MODIFY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MODIFY
+ * @generated
+ * @ordered
+ */
+ public static final ActionKind MODIFY_LITERAL = new ActionKind(MODIFY, "MODIFY", "MODIFY");
+
+ /**
+ * The '<em><b>PROCESS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROCESS
+ * @generated
+ * @ordered
+ */
+ public static final ActionKind PROCESS_LITERAL = new ActionKind(PROCESS, "PROCESS", "PROCESS");
+
+ /**
+ * The '<em><b>CUSTOM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CUSTOM
+ * @generated
+ * @ordered
+ */
+ public static final ActionKind CUSTOM_LITERAL = new ActionKind(CUSTOM, "CUSTOM", "CUSTOM");
+
+ /**
+ * An array of all the '<em><b>Action Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ActionKind[] VALUES_ARRAY = new ActionKind[] { CREATE_LITERAL, PROPCHANGE_LITERAL, MODIFY_LITERAL, PROCESS_LITERAL, CUSTOM_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Action Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Action Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ActionKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ActionKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Action Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ActionKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ActionKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Action Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ActionKind get(int value) {
+ switch (value) {
+ case CREATE:
+ return CREATE_LITERAL;
+ case PROPCHANGE:
+ return PROPCHANGE_LITERAL;
+ case MODIFY:
+ return MODIFY_LITERAL;
+ case PROCESS:
+ return PROCESS_LITERAL;
+ case CUSTOM:
+ return CUSTOM_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ActionKind(int value, String name, String literal) {
+ super(value, name, literal);
+ }
+
+} //ActionKind
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AppearanceStyle.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AppearanceStyle.java
new file mode 100644
index 000000000..c6a388796
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/AppearanceStyle.java
@@ -0,0 +1,176 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Appearance Style</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getAppearanceStyle()
+ * @model
+ * @generated
+ */
+public final class AppearanceStyle extends AbstractEnumerator {
+ /**
+ * The '<em><b>Font</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Font</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FONT_LITERAL
+ * @model name="Font"
+ * @generated
+ * @ordered
+ */
+ public static final int FONT = 0;
+
+ /**
+ * The '<em><b>Fill</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Fill</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FILL_LITERAL
+ * @model name="Fill"
+ * @generated
+ * @ordered
+ */
+ public static final int FILL = 1;
+
+ /**
+ * The '<em><b>Line</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Line</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LINE_LITERAL
+ * @model name="Line"
+ * @generated
+ * @ordered
+ */
+ public static final int LINE = 2;
+
+ /**
+ * The '<em><b>Font</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FONT
+ * @generated
+ * @ordered
+ */
+ public static final AppearanceStyle FONT_LITERAL = new AppearanceStyle(FONT, "Font", "Font");
+
+ /**
+ * The '<em><b>Fill</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FILL
+ * @generated
+ * @ordered
+ */
+ public static final AppearanceStyle FILL_LITERAL = new AppearanceStyle(FILL, "Fill", "Fill");
+
+ /**
+ * The '<em><b>Line</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LINE
+ * @generated
+ * @ordered
+ */
+ public static final AppearanceStyle LINE_LITERAL = new AppearanceStyle(LINE, "Line", "Line");
+
+ /**
+ * An array of all the '<em><b>Appearance Style</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AppearanceStyle[] VALUES_ARRAY = new AppearanceStyle[] { FONT_LITERAL, FILL_LITERAL, LINE_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Appearance Style</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Appearance Style</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AppearanceStyle get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AppearanceStyle result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Appearance Style</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AppearanceStyle getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AppearanceStyle result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Appearance Style</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AppearanceStyle get(int value) {
+ switch (value) {
+ case FONT:
+ return FONT_LITERAL;
+ case FILL:
+ return FILL_LITERAL;
+ case LINE:
+ return LINE_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private AppearanceStyle(int value, String name, String literal) {
+ super(value, name, literal);
+ }
+
+} //AppearanceStyle
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/BundleImage.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/BundleImage.java
new file mode 100644
index 000000000..1db063a43
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/BundleImage.java
@@ -0,0 +1,79 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bundle Image</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.BundleImage#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.BundleImage#getBundle <em>Bundle</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getBundleImage()
+ * @model
+ * @generated
+ */
+public interface BundleImage extends Image {
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path</em>' attribute.
+ * @see #setPath(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getBundleImage_Path()
+ * @model
+ * @generated
+ */
+ String getPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.BundleImage#getPath <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path</em>' attribute.
+ * @see #getPath()
+ * @generated
+ */
+ void setPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Bundle</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bundle</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bundle</em>' attribute.
+ * @see #setBundle(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getBundleImage_Bundle()
+ * @model
+ * @generated
+ */
+ String getBundle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.BundleImage#getBundle <em>Bundle</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bundle</em>' attribute.
+ * @see #getBundle()
+ * @generated
+ */
+ void setBundle(String value);
+
+} // BundleImage
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContextMenu.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContextMenu.java
new file mode 100644
index 000000000..6b8d5534c
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContextMenu.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Context Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.ContextMenu#getDefault <em>Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getContextMenu()
+ * @model
+ * @generated
+ */
+public interface ContextMenu extends Menu {
+ /**
+ * Returns the value of the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default</em>' reference.
+ * @see #setDefault(MenuAction)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getContextMenu_Default()
+ * @model
+ * @generated
+ */
+ MenuAction getDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ContextMenu#getDefault <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default</em>' reference.
+ * @see #getDefault()
+ * @generated
+ */
+ void setDefault(MenuAction value);
+
+} // ContextMenu
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContributionItem.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContributionItem.java
new file mode 100644
index 000000000..801e97f54
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ContributionItem.java
@@ -0,0 +1,79 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Contribution Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.ContributionItem#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.ContributionItem#getTitle <em>Title</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getContributionItem()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface ContributionItem extends ItemBase {
+ /**
+ * Returns the value of the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Icon</em>' containment reference.
+ * @see #setIcon(Image)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getContributionItem_Icon()
+ * @model containment="true"
+ * @generated
+ */
+ Image getIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ContributionItem#getIcon <em>Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Icon</em>' containment reference.
+ * @see #getIcon()
+ * @generated
+ */
+ void setIcon(Image value);
+
+ /**
+ * Returns the value of the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Title</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Title</em>' attribute.
+ * @see #setTitle(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getContributionItem_Title()
+ * @model
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ContributionItem#getTitle <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Title</em>' attribute.
+ * @see #getTitle()
+ * @generated
+ */
+ void setTitle(String value);
+
+} // ContributionItem
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/CreationTool.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/CreationTool.java
new file mode 100644
index 000000000..52e9bf3be
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/CreationTool.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Creation Tool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getCreationTool()
+ * @model
+ * @generated
+ */
+public interface CreationTool extends AbstractTool {
+} // CreationTool
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/DefaultImage.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/DefaultImage.java
new file mode 100644
index 000000000..0140efee4
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/DefaultImage.java
@@ -0,0 +1,24 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Default Image</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Delegate to EMF.Edit providers
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getDefaultImage()
+ * @model
+ * @generated
+ */
+public interface DefaultImage extends Image {
+} // DefaultImage
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolFactory.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolFactory.java
new file mode 100644
index 000000000..71a9ab1fe
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolFactory.java
@@ -0,0 +1,208 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage
+ * @generated
+ */
+public interface GMFToolFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ GMFToolFactory eINSTANCE = org.eclipse.gmf.tooldef.impl.GMFToolFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Tool Registry</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tool Registry</em>'.
+ * @generated
+ */
+ ToolRegistry createToolRegistry();
+
+ /**
+ * Returns a new object of class '<em>Palette Separator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Palette Separator</em>'.
+ * @generated
+ */
+ PaletteSeparator createPaletteSeparator();
+
+ /**
+ * Returns a new object of class '<em>Tool Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tool Group</em>'.
+ * @generated
+ */
+ ToolGroup createToolGroup();
+
+ /**
+ * Returns a new object of class '<em>Palette</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Palette</em>'.
+ * @generated
+ */
+ Palette createPalette();
+
+ /**
+ * Returns a new object of class '<em>Standard Tool</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Standard Tool</em>'.
+ * @generated
+ */
+ StandardTool createStandardTool();
+
+ /**
+ * Returns a new object of class '<em>Creation Tool</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Creation Tool</em>'.
+ * @generated
+ */
+ CreationTool createCreationTool();
+
+ /**
+ * Returns a new object of class '<em>Generic Tool</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Generic Tool</em>'.
+ * @generated
+ */
+ GenericTool createGenericTool();
+
+ /**
+ * Returns a new object of class '<em>Separator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Separator</em>'.
+ * @generated
+ */
+ Separator createSeparator();
+
+ /**
+ * Returns a new object of class '<em>Predefined Item</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Predefined Item</em>'.
+ * @generated
+ */
+ PredefinedItem createPredefinedItem();
+
+ /**
+ * Returns a new object of class '<em>Predefined Menu</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Predefined Menu</em>'.
+ * @generated
+ */
+ PredefinedMenu createPredefinedMenu();
+
+ /**
+ * Returns a new object of class '<em>Menu Action</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Menu Action</em>'.
+ * @generated
+ */
+ MenuAction createMenuAction();
+
+ /**
+ * Returns a new object of class '<em>Item Ref</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Ref</em>'.
+ * @generated
+ */
+ ItemRef createItemRef();
+
+ /**
+ * Returns a new object of class '<em>Context Menu</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Context Menu</em>'.
+ * @generated
+ */
+ ContextMenu createContextMenu();
+
+ /**
+ * Returns a new object of class '<em>Popup Menu</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Popup Menu</em>'.
+ * @generated
+ */
+ PopupMenu createPopupMenu();
+
+ /**
+ * Returns a new object of class '<em>Main Menu</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Main Menu</em>'.
+ * @generated
+ */
+ MainMenu createMainMenu();
+
+ /**
+ * Returns a new object of class '<em>Toolbar</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Toolbar</em>'.
+ * @generated
+ */
+ Toolbar createToolbar();
+
+ /**
+ * Returns a new object of class '<em>Default Image</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Default Image</em>'.
+ * @generated
+ */
+ DefaultImage createDefaultImage();
+
+ /**
+ * Returns a new object of class '<em>Bundle Image</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Bundle Image</em>'.
+ * @generated
+ */
+ BundleImage createBundleImage();
+
+ /**
+ * Returns a new object of class '<em>Generic Style Selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Generic Style Selector</em>'.
+ * @generated
+ */
+ GenericStyleSelector createGenericStyleSelector();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ GMFToolPackage getGMFToolPackage();
+
+} //GMFToolFactory
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolPackage.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolPackage.java
new file mode 100644
index 000000000..ab6e14fc5
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GMFToolPackage.java
@@ -0,0 +1,1786 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface GMFToolPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "tooldef";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/gmf/2005/ToolDefinition";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "gmftool";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ GMFToolPackage eINSTANCE = org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.ToolRegistryImpl <em>Tool Registry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.ToolRegistryImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getToolRegistry()
+ * @generated
+ */
+ int TOOL_REGISTRY = 0;
+
+ /**
+ * The feature id for the '<em><b>Shared Actions</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_REGISTRY__SHARED_ACTIONS = 0;
+
+ /**
+ * The feature id for the '<em><b>All Menus</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_REGISTRY__ALL_MENUS = 1;
+
+ /**
+ * The feature id for the '<em><b>Palette</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_REGISTRY__PALETTE = 2;
+
+ /**
+ * The number of structural features of the '<em>Tool Registry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_REGISTRY_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.AbstractToolImpl <em>Abstract Tool</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.AbstractToolImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getAbstractTool()
+ * @generated
+ */
+ int ABSTRACT_TOOL = 1;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TOOL__SMALL_ICON = 0;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TOOL__LARGE_ICON = 1;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TOOL__TITLE = 2;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TOOL__DESCRIPTION = 3;
+
+ /**
+ * The number of structural features of the '<em>Abstract Tool</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TOOL_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.ToolContainerImpl <em>Tool Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.ToolContainerImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getToolContainer()
+ * @generated
+ */
+ int TOOL_CONTAINER = 2;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONTAINER__SMALL_ICON = ABSTRACT_TOOL__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONTAINER__LARGE_ICON = ABSTRACT_TOOL__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONTAINER__TITLE = ABSTRACT_TOOL__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONTAINER__DESCRIPTION = ABSTRACT_TOOL__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Tools</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONTAINER__TOOLS = ABSTRACT_TOOL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Tool Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_CONTAINER_FEATURE_COUNT = ABSTRACT_TOOL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.PaletteSeparatorImpl <em>Palette Separator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.PaletteSeparatorImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getPaletteSeparator()
+ * @generated
+ */
+ int PALETTE_SEPARATOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_SEPARATOR__SMALL_ICON = ABSTRACT_TOOL__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_SEPARATOR__LARGE_ICON = ABSTRACT_TOOL__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_SEPARATOR__TITLE = ABSTRACT_TOOL__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_SEPARATOR__DESCRIPTION = ABSTRACT_TOOL__DESCRIPTION;
+
+ /**
+ * The number of structural features of the '<em>Palette Separator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_SEPARATOR_FEATURE_COUNT = ABSTRACT_TOOL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.ToolGroupImpl <em>Tool Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.ToolGroupImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getToolGroup()
+ * @generated
+ */
+ int TOOL_GROUP = 4;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__SMALL_ICON = TOOL_CONTAINER__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__LARGE_ICON = TOOL_CONTAINER__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__TITLE = TOOL_CONTAINER__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__DESCRIPTION = TOOL_CONTAINER__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Tools</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__TOOLS = TOOL_CONTAINER__TOOLS;
+
+ /**
+ * The feature id for the '<em><b>Collapsible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__COLLAPSIBLE = TOOL_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Active</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP__ACTIVE = TOOL_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Tool Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOL_GROUP_FEATURE_COUNT = TOOL_CONTAINER_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.PaletteImpl <em>Palette</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.PaletteImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getPalette()
+ * @generated
+ */
+ int PALETTE = 5;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE__SMALL_ICON = TOOL_CONTAINER__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE__LARGE_ICON = TOOL_CONTAINER__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE__TITLE = TOOL_CONTAINER__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE__DESCRIPTION = TOOL_CONTAINER__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Tools</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE__TOOLS = TOOL_CONTAINER__TOOLS;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE__DEFAULT = TOOL_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Palette</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PALETTE_FEATURE_COUNT = TOOL_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.StandardToolImpl <em>Standard Tool</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.StandardToolImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getStandardTool()
+ * @generated
+ */
+ int STANDARD_TOOL = 6;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_TOOL__SMALL_ICON = ABSTRACT_TOOL__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_TOOL__LARGE_ICON = ABSTRACT_TOOL__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_TOOL__TITLE = ABSTRACT_TOOL__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_TOOL__DESCRIPTION = ABSTRACT_TOOL__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Tool Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_TOOL__TOOL_KIND = ABSTRACT_TOOL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Standard Tool</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_TOOL_FEATURE_COUNT = ABSTRACT_TOOL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.CreationToolImpl <em>Creation Tool</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.CreationToolImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getCreationTool()
+ * @generated
+ */
+ int CREATION_TOOL = 7;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATION_TOOL__SMALL_ICON = ABSTRACT_TOOL__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATION_TOOL__LARGE_ICON = ABSTRACT_TOOL__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATION_TOOL__TITLE = ABSTRACT_TOOL__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATION_TOOL__DESCRIPTION = ABSTRACT_TOOL__DESCRIPTION;
+
+ /**
+ * The number of structural features of the '<em>Creation Tool</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CREATION_TOOL_FEATURE_COUNT = ABSTRACT_TOOL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.GenericToolImpl <em>Generic Tool</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.GenericToolImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getGenericTool()
+ * @generated
+ */
+ int GENERIC_TOOL = 8;
+
+ /**
+ * The feature id for the '<em><b>Small Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_TOOL__SMALL_ICON = ABSTRACT_TOOL__SMALL_ICON;
+
+ /**
+ * The feature id for the '<em><b>Large Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_TOOL__LARGE_ICON = ABSTRACT_TOOL__LARGE_ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_TOOL__TITLE = ABSTRACT_TOOL__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_TOOL__DESCRIPTION = ABSTRACT_TOOL__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Tool Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_TOOL__TOOL_CLASS = ABSTRACT_TOOL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Generic Tool</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_TOOL_FEATURE_COUNT = ABSTRACT_TOOL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.ItemBase <em>Item Base</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.ItemBase
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getItemBase()
+ * @generated
+ */
+ int ITEM_BASE = 9;
+
+ /**
+ * The number of structural features of the '<em>Item Base</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_BASE_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.MenuImpl <em>Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.MenuImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getMenu()
+ * @generated
+ */
+ int MENU = 10;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU__ITEMS = 0;
+
+ /**
+ * The number of structural features of the '<em>Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.SeparatorImpl <em>Separator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.SeparatorImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getSeparator()
+ * @generated
+ */
+ int SEPARATOR = 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEPARATOR__NAME = ITEM_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Separator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEPARATOR_FEATURE_COUNT = ITEM_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.PredefinedItemImpl <em>Predefined Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.PredefinedItemImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getPredefinedItem()
+ * @generated
+ */
+ int PREDEFINED_ITEM = 12;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PREDEFINED_ITEM__IDENTIFIER = ITEM_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Predefined Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PREDEFINED_ITEM_FEATURE_COUNT = ITEM_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.PredefinedMenuImpl <em>Predefined Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.PredefinedMenuImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getPredefinedMenu()
+ * @generated
+ */
+ int PREDEFINED_MENU = 13;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PREDEFINED_MENU__ITEMS = MENU__ITEMS;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PREDEFINED_MENU__IDENTIFIER = MENU_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Predefined Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PREDEFINED_MENU_FEATURE_COUNT = MENU_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.ContributionItem <em>Contribution Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.ContributionItem
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getContributionItem()
+ * @generated
+ */
+ int CONTRIBUTION_ITEM = 14;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTION_ITEM__ICON = ITEM_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTION_ITEM__TITLE = ITEM_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Contribution Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTION_ITEM_FEATURE_COUNT = ITEM_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.MenuActionImpl <em>Menu Action</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.MenuActionImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getMenuAction()
+ * @generated
+ */
+ int MENU_ACTION = 15;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION__ICON = CONTRIBUTION_ITEM__ICON;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION__TITLE = CONTRIBUTION_ITEM__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION__KIND = CONTRIBUTION_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Hot Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION__HOT_KEY = CONTRIBUTION_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Menu Action</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MENU_ACTION_FEATURE_COUNT = CONTRIBUTION_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.ItemRefImpl <em>Item Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.ItemRefImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getItemRef()
+ * @generated
+ */
+ int ITEM_REF = 16;
+
+ /**
+ * The feature id for the '<em><b>Item</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_REF__ITEM = ITEM_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Item Ref</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_REF_FEATURE_COUNT = ITEM_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.ContextMenuImpl <em>Context Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.ContextMenuImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getContextMenu()
+ * @generated
+ */
+ int CONTEXT_MENU = 17;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_MENU__ITEMS = MENU__ITEMS;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_MENU__DEFAULT = MENU_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Context Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_MENU_FEATURE_COUNT = MENU_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.PopupMenuImpl <em>Popup Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.PopupMenuImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getPopupMenu()
+ * @generated
+ */
+ int POPUP_MENU = 18;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POPUP_MENU__ITEMS = MENU__ITEMS;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POPUP_MENU__ICON = MENU_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POPUP_MENU__TITLE = MENU_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POPUP_MENU__ID = MENU_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Popup Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POPUP_MENU_FEATURE_COUNT = MENU_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.MainMenuImpl <em>Main Menu</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.MainMenuImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getMainMenu()
+ * @generated
+ */
+ int MAIN_MENU = 19;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAIN_MENU__ITEMS = MENU__ITEMS;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAIN_MENU__TITLE = MENU_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Main Menu</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAIN_MENU_FEATURE_COUNT = MENU_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.ToolbarImpl <em>Toolbar</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.ToolbarImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getToolbar()
+ * @generated
+ */
+ int TOOLBAR = 20;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOLBAR__ITEMS = MENU__ITEMS;
+
+ /**
+ * The number of structural features of the '<em>Toolbar</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOOLBAR_FEATURE_COUNT = MENU_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.Image <em>Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.Image
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getImage()
+ * @generated
+ */
+ int IMAGE = 21;
+
+ /**
+ * The number of structural features of the '<em>Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMAGE_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.DefaultImageImpl <em>Default Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.DefaultImageImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getDefaultImage()
+ * @generated
+ */
+ int DEFAULT_IMAGE = 22;
+
+ /**
+ * The number of structural features of the '<em>Default Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFAULT_IMAGE_FEATURE_COUNT = IMAGE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.BundleImageImpl <em>Bundle Image</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.BundleImageImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getBundleImage()
+ * @generated
+ */
+ int BUNDLE_IMAGE = 23;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUNDLE_IMAGE__PATH = IMAGE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Bundle</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUNDLE_IMAGE__BUNDLE = IMAGE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Bundle Image</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUNDLE_IMAGE_FEATURE_COUNT = IMAGE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.StyleSelector <em>Style Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.StyleSelector
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getStyleSelector()
+ * @generated
+ */
+ int STYLE_SELECTOR = 24;
+
+ /**
+ * The number of structural features of the '<em>Style Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLE_SELECTOR_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.impl.GenericStyleSelectorImpl <em>Generic Style Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.impl.GenericStyleSelectorImpl
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getGenericStyleSelector()
+ * @generated
+ */
+ int GENERIC_STYLE_SELECTOR = 25;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_STYLE_SELECTOR__VALUE = STYLE_SELECTOR_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Generic Style Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_STYLE_SELECTOR_FEATURE_COUNT = STYLE_SELECTOR_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.StandardToolKind <em>Standard Tool Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.StandardToolKind
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getStandardToolKind()
+ * @generated
+ */
+ int STANDARD_TOOL_KIND = 26;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.ActionKind <em>Action Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.ActionKind
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getActionKind()
+ * @generated
+ */
+ int ACTION_KIND = 27;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.tooldef.AppearanceStyle <em>Appearance Style</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.AppearanceStyle
+ * @see org.eclipse.gmf.tooldef.impl.GMFToolPackageImpl#getAppearanceStyle()
+ * @generated
+ */
+ int APPEARANCE_STYLE = 28;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ToolRegistry <em>Tool Registry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tool Registry</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolRegistry
+ * @generated
+ */
+ EClass getToolRegistry();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.tooldef.ToolRegistry#getSharedActions <em>Shared Actions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Shared Actions</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolRegistry#getSharedActions()
+ * @see #getToolRegistry()
+ * @generated
+ */
+ EReference getToolRegistry_SharedActions();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.tooldef.ToolRegistry#getAllMenus <em>All Menus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>All Menus</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolRegistry#getAllMenus()
+ * @see #getToolRegistry()
+ * @generated
+ */
+ EReference getToolRegistry_AllMenus();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.tooldef.ToolRegistry#getPalette <em>Palette</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Palette</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolRegistry#getPalette()
+ * @see #getToolRegistry()
+ * @generated
+ */
+ EReference getToolRegistry_Palette();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.AbstractTool <em>Abstract Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Tool</em>'.
+ * @see org.eclipse.gmf.tooldef.AbstractTool
+ * @generated
+ */
+ EClass getAbstractTool();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.tooldef.AbstractTool#getSmallIcon <em>Small Icon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Small Icon</em>'.
+ * @see org.eclipse.gmf.tooldef.AbstractTool#getSmallIcon()
+ * @see #getAbstractTool()
+ * @generated
+ */
+ EReference getAbstractTool_SmallIcon();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.tooldef.AbstractTool#getLargeIcon <em>Large Icon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Large Icon</em>'.
+ * @see org.eclipse.gmf.tooldef.AbstractTool#getLargeIcon()
+ * @see #getAbstractTool()
+ * @generated
+ */
+ EReference getAbstractTool_LargeIcon();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.AbstractTool#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.gmf.tooldef.AbstractTool#getTitle()
+ * @see #getAbstractTool()
+ * @generated
+ */
+ EAttribute getAbstractTool_Title();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.AbstractTool#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.gmf.tooldef.AbstractTool#getDescription()
+ * @see #getAbstractTool()
+ * @generated
+ */
+ EAttribute getAbstractTool_Description();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ToolContainer <em>Tool Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tool Container</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolContainer
+ * @generated
+ */
+ EClass getToolContainer();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.tooldef.ToolContainer#getTools <em>Tools</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Tools</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolContainer#getTools()
+ * @see #getToolContainer()
+ * @generated
+ */
+ EReference getToolContainer_Tools();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.PaletteSeparator <em>Palette Separator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Palette Separator</em>'.
+ * @see org.eclipse.gmf.tooldef.PaletteSeparator
+ * @generated
+ */
+ EClass getPaletteSeparator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ToolGroup <em>Tool Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tool Group</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolGroup
+ * @generated
+ */
+ EClass getToolGroup();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.ToolGroup#isCollapsible <em>Collapsible</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Collapsible</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolGroup#isCollapsible()
+ * @see #getToolGroup()
+ * @generated
+ */
+ EAttribute getToolGroup_Collapsible();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.gmf.tooldef.ToolGroup#getActive <em>Active</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Active</em>'.
+ * @see org.eclipse.gmf.tooldef.ToolGroup#getActive()
+ * @see #getToolGroup()
+ * @generated
+ */
+ EReference getToolGroup_Active();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.Palette <em>Palette</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Palette</em>'.
+ * @see org.eclipse.gmf.tooldef.Palette
+ * @generated
+ */
+ EClass getPalette();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.gmf.tooldef.Palette#getDefault <em>Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default</em>'.
+ * @see org.eclipse.gmf.tooldef.Palette#getDefault()
+ * @see #getPalette()
+ * @generated
+ */
+ EReference getPalette_Default();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.StandardTool <em>Standard Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Standard Tool</em>'.
+ * @see org.eclipse.gmf.tooldef.StandardTool
+ * @generated
+ */
+ EClass getStandardTool();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.StandardTool#getToolKind <em>Tool Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tool Kind</em>'.
+ * @see org.eclipse.gmf.tooldef.StandardTool#getToolKind()
+ * @see #getStandardTool()
+ * @generated
+ */
+ EAttribute getStandardTool_ToolKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.CreationTool <em>Creation Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Creation Tool</em>'.
+ * @see org.eclipse.gmf.tooldef.CreationTool
+ * @generated
+ */
+ EClass getCreationTool();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.GenericTool <em>Generic Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generic Tool</em>'.
+ * @see org.eclipse.gmf.tooldef.GenericTool
+ * @generated
+ */
+ EClass getGenericTool();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.GenericTool#getToolClass <em>Tool Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tool Class</em>'.
+ * @see org.eclipse.gmf.tooldef.GenericTool#getToolClass()
+ * @see #getGenericTool()
+ * @generated
+ */
+ EAttribute getGenericTool_ToolClass();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ItemBase <em>Item Base</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Base</em>'.
+ * @see org.eclipse.gmf.tooldef.ItemBase
+ * @generated
+ */
+ EClass getItemBase();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.Menu <em>Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu</em>'.
+ * @see org.eclipse.gmf.tooldef.Menu
+ * @generated
+ */
+ EClass getMenu();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.tooldef.Menu#getItems <em>Items</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Items</em>'.
+ * @see org.eclipse.gmf.tooldef.Menu#getItems()
+ * @see #getMenu()
+ * @generated
+ */
+ EReference getMenu_Items();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.Separator <em>Separator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Separator</em>'.
+ * @see org.eclipse.gmf.tooldef.Separator
+ * @generated
+ */
+ EClass getSeparator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.Separator#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.gmf.tooldef.Separator#getName()
+ * @see #getSeparator()
+ * @generated
+ */
+ EAttribute getSeparator_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.PredefinedItem <em>Predefined Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Predefined Item</em>'.
+ * @see org.eclipse.gmf.tooldef.PredefinedItem
+ * @generated
+ */
+ EClass getPredefinedItem();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.PredefinedItem#getIdentifier <em>Identifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Identifier</em>'.
+ * @see org.eclipse.gmf.tooldef.PredefinedItem#getIdentifier()
+ * @see #getPredefinedItem()
+ * @generated
+ */
+ EAttribute getPredefinedItem_Identifier();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.PredefinedMenu <em>Predefined Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Predefined Menu</em>'.
+ * @see org.eclipse.gmf.tooldef.PredefinedMenu
+ * @generated
+ */
+ EClass getPredefinedMenu();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ContributionItem <em>Contribution Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Contribution Item</em>'.
+ * @see org.eclipse.gmf.tooldef.ContributionItem
+ * @generated
+ */
+ EClass getContributionItem();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.tooldef.ContributionItem#getIcon <em>Icon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Icon</em>'.
+ * @see org.eclipse.gmf.tooldef.ContributionItem#getIcon()
+ * @see #getContributionItem()
+ * @generated
+ */
+ EReference getContributionItem_Icon();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.ContributionItem#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.gmf.tooldef.ContributionItem#getTitle()
+ * @see #getContributionItem()
+ * @generated
+ */
+ EAttribute getContributionItem_Title();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.MenuAction <em>Menu Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Menu Action</em>'.
+ * @see org.eclipse.gmf.tooldef.MenuAction
+ * @generated
+ */
+ EClass getMenuAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.MenuAction#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.gmf.tooldef.MenuAction#getKind()
+ * @see #getMenuAction()
+ * @generated
+ */
+ EAttribute getMenuAction_Kind();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.MenuAction#getHotKey <em>Hot Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hot Key</em>'.
+ * @see org.eclipse.gmf.tooldef.MenuAction#getHotKey()
+ * @see #getMenuAction()
+ * @generated
+ */
+ EAttribute getMenuAction_HotKey();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ItemRef <em>Item Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Ref</em>'.
+ * @see org.eclipse.gmf.tooldef.ItemRef
+ * @generated
+ */
+ EClass getItemRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.gmf.tooldef.ItemRef#getItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Item</em>'.
+ * @see org.eclipse.gmf.tooldef.ItemRef#getItem()
+ * @see #getItemRef()
+ * @generated
+ */
+ EReference getItemRef_Item();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.ContextMenu <em>Context Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Context Menu</em>'.
+ * @see org.eclipse.gmf.tooldef.ContextMenu
+ * @generated
+ */
+ EClass getContextMenu();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.gmf.tooldef.ContextMenu#getDefault <em>Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default</em>'.
+ * @see org.eclipse.gmf.tooldef.ContextMenu#getDefault()
+ * @see #getContextMenu()
+ * @generated
+ */
+ EReference getContextMenu_Default();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.PopupMenu <em>Popup Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Popup Menu</em>'.
+ * @see org.eclipse.gmf.tooldef.PopupMenu
+ * @generated
+ */
+ EClass getPopupMenu();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.PopupMenu#getID <em>ID</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>ID</em>'.
+ * @see org.eclipse.gmf.tooldef.PopupMenu#getID()
+ * @see #getPopupMenu()
+ * @generated
+ */
+ EAttribute getPopupMenu_ID();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.MainMenu <em>Main Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Main Menu</em>'.
+ * @see org.eclipse.gmf.tooldef.MainMenu
+ * @generated
+ */
+ EClass getMainMenu();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.MainMenu#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.gmf.tooldef.MainMenu#getTitle()
+ * @see #getMainMenu()
+ * @generated
+ */
+ EAttribute getMainMenu_Title();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.Toolbar <em>Toolbar</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Toolbar</em>'.
+ * @see org.eclipse.gmf.tooldef.Toolbar
+ * @generated
+ */
+ EClass getToolbar();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Image</em>'.
+ * @see org.eclipse.gmf.tooldef.Image
+ * @generated
+ */
+ EClass getImage();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.DefaultImage <em>Default Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Default Image</em>'.
+ * @see org.eclipse.gmf.tooldef.DefaultImage
+ * @generated
+ */
+ EClass getDefaultImage();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.BundleImage <em>Bundle Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Bundle Image</em>'.
+ * @see org.eclipse.gmf.tooldef.BundleImage
+ * @generated
+ */
+ EClass getBundleImage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.BundleImage#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Path</em>'.
+ * @see org.eclipse.gmf.tooldef.BundleImage#getPath()
+ * @see #getBundleImage()
+ * @generated
+ */
+ EAttribute getBundleImage_Path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.BundleImage#getBundle <em>Bundle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Bundle</em>'.
+ * @see org.eclipse.gmf.tooldef.BundleImage#getBundle()
+ * @see #getBundleImage()
+ * @generated
+ */
+ EAttribute getBundleImage_Bundle();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.StyleSelector <em>Style Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Style Selector</em>'.
+ * @see org.eclipse.gmf.tooldef.StyleSelector
+ * @generated
+ */
+ EClass getStyleSelector();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.tooldef.GenericStyleSelector <em>Generic Style Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generic Style Selector</em>'.
+ * @see org.eclipse.gmf.tooldef.GenericStyleSelector
+ * @generated
+ */
+ EClass getGenericStyleSelector();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.tooldef.GenericStyleSelector#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.gmf.tooldef.GenericStyleSelector#getValue()
+ * @see #getGenericStyleSelector()
+ * @generated
+ */
+ EAttribute getGenericStyleSelector_Value();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.gmf.tooldef.StandardToolKind <em>Standard Tool Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Standard Tool Kind</em>'.
+ * @see org.eclipse.gmf.tooldef.StandardToolKind
+ * @generated
+ */
+ EEnum getStandardToolKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.gmf.tooldef.ActionKind <em>Action Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Action Kind</em>'.
+ * @see org.eclipse.gmf.tooldef.ActionKind
+ * @generated
+ */
+ EEnum getActionKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.gmf.tooldef.AppearanceStyle <em>Appearance Style</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Appearance Style</em>'.
+ * @see org.eclipse.gmf.tooldef.AppearanceStyle
+ * @generated
+ */
+ EEnum getAppearanceStyle();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ GMFToolFactory getGMFToolFactory();
+
+} //GMFToolPackage
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericStyleSelector.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericStyleSelector.java
new file mode 100644
index 000000000..c07bf6f6e
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericStyleSelector.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generic Style Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.GenericStyleSelector#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getGenericStyleSelector()
+ * @model
+ * @generated
+ */
+public interface GenericStyleSelector extends StyleSelector {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.gmf.tooldef.AppearanceStyle}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.gmf.tooldef.AppearanceStyle
+ * @see #setValue(AppearanceStyle)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getGenericStyleSelector_Value()
+ * @model
+ * @generated
+ */
+ AppearanceStyle getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.GenericStyleSelector#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.gmf.tooldef.AppearanceStyle
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(AppearanceStyle value);
+
+} // GenericStyleSelector
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericTool.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericTool.java
new file mode 100644
index 000000000..d42cdd559
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/GenericTool.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generic Tool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.GenericTool#getToolClass <em>Tool Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getGenericTool()
+ * @model
+ * @generated
+ */
+public interface GenericTool extends AbstractTool {
+ /**
+ * Returns the value of the '<em><b>Tool Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tool Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tool Class</em>' attribute.
+ * @see #setToolClass(Class)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getGenericTool_ToolClass()
+ * @model
+ * @generated
+ */
+ Class getToolClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.GenericTool#getToolClass <em>Tool Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tool Class</em>' attribute.
+ * @see #getToolClass()
+ * @generated
+ */
+ void setToolClass(Class value);
+
+} // GenericTool
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Image.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Image.java
new file mode 100644
index 000000000..6cea3d7b6
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Image.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Image</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getImage()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Image extends EObject {
+} // Image
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemBase.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemBase.java
new file mode 100644
index 000000000..8a7dfe68f
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemBase.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Base</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getItemBase()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface ItemBase extends EObject {
+} // ItemBase
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemRef.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemRef.java
new file mode 100644
index 000000000..6171da10f
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ItemRef.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Ref</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.ItemRef#getItem <em>Item</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getItemRef()
+ * @model
+ * @generated
+ */
+public interface ItemRef extends ItemBase {
+ /**
+ * Returns the value of the '<em><b>Item</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Item</em>' reference.
+ * @see #setItem(ItemBase)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getItemRef_Item()
+ * @model required="true"
+ * @generated
+ */
+ ItemBase getItem();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ItemRef#getItem <em>Item</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Item</em>' reference.
+ * @see #getItem()
+ * @generated
+ */
+ void setItem(ItemBase value);
+
+} // ItemRef
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MainMenu.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MainMenu.java
new file mode 100644
index 000000000..ae3e5bcae
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MainMenu.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Main Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * no default action and no id, just a collection of items
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.MainMenu#getTitle <em>Title</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMainMenu()
+ * @model
+ * @generated
+ */
+public interface MainMenu extends Menu {
+ /**
+ * Returns the value of the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Title</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Title</em>' attribute.
+ * @see #setTitle(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMainMenu_Title()
+ * @model
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.MainMenu#getTitle <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Title</em>' attribute.
+ * @see #getTitle()
+ * @generated
+ */
+ void setTitle(String value);
+
+} // MainMenu
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Menu.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Menu.java
new file mode 100644
index 000000000..406e82c7a
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Menu.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.Menu#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMenu()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Menu extends EObject {
+ /**
+ * Returns the value of the '<em><b>Items</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.gmf.tooldef.ItemBase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Items</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Items</em>' containment reference list.
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMenu_Items()
+ * @model type="org.eclipse.gmf.tooldef.ItemBase" containment="true"
+ * @generated
+ */
+ EList getItems();
+
+} // Menu
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MenuAction.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MenuAction.java
new file mode 100644
index 000000000..e071ce135
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/MenuAction.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Menu Action</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.MenuAction#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.MenuAction#getHotKey <em>Hot Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMenuAction()
+ * @model
+ * @generated
+ */
+public interface MenuAction extends ContributionItem {
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.gmf.tooldef.ActionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.gmf.tooldef.ActionKind
+ * @see #setKind(ActionKind)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMenuAction_Kind()
+ * @model
+ * @generated
+ */
+ ActionKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.MenuAction#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.gmf.tooldef.ActionKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(ActionKind value);
+
+ /**
+ * Returns the value of the '<em><b>Hot Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hot Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hot Key</em>' attribute.
+ * @see #setHotKey(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getMenuAction_HotKey()
+ * @model
+ * @generated
+ */
+ String getHotKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.MenuAction#getHotKey <em>Hot Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hot Key</em>' attribute.
+ * @see #getHotKey()
+ * @generated
+ */
+ void setHotKey(String value);
+
+} // MenuAction
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Palette.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Palette.java
new file mode 100644
index 000000000..e9ec73ae6
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Palette.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Palette</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.Palette#getDefault <em>Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPalette()
+ * @model
+ * @generated
+ */
+public interface Palette extends ToolContainer {
+ /**
+ * Returns the value of the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default</em>' reference.
+ * @see #setDefault(AbstractTool)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPalette_Default()
+ * @model
+ * @generated
+ */
+ AbstractTool getDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.Palette#getDefault <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default</em>' reference.
+ * @see #getDefault()
+ * @generated
+ */
+ void setDefault(AbstractTool value);
+
+} // Palette
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PaletteSeparator.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PaletteSeparator.java
new file mode 100644
index 000000000..d599da418
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PaletteSeparator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Palette Separator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPaletteSeparator()
+ * @model
+ * @generated
+ */
+public interface PaletteSeparator extends AbstractTool {
+} // PaletteSeparator
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PopupMenu.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PopupMenu.java
new file mode 100644
index 000000000..6421a2fca
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PopupMenu.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Popup Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.PopupMenu#getID <em>ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPopupMenu()
+ * @model
+ * @generated
+ */
+public interface PopupMenu extends Menu, ContributionItem {
+ /**
+ * Returns the value of the '<em><b>ID</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>ID</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>ID</em>' attribute.
+ * @see #setID(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPopupMenu_ID()
+ * @model id="true"
+ * @generated
+ */
+ String getID();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.PopupMenu#getID <em>ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>ID</em>' attribute.
+ * @see #getID()
+ * @generated
+ */
+ void setID(String value);
+
+} // PopupMenu
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedItem.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedItem.java
new file mode 100644
index 000000000..49ab040c8
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedItem.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Predefined Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.PredefinedItem#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPredefinedItem()
+ * @model
+ * @generated
+ */
+public interface PredefinedItem extends ItemBase {
+ /**
+ * Returns the value of the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Identifier</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Identifier</em>' attribute.
+ * @see #setIdentifier(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPredefinedItem_Identifier()
+ * @model
+ * @generated
+ */
+ String getIdentifier();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.PredefinedItem#getIdentifier <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Identifier</em>' attribute.
+ * @see #getIdentifier()
+ * @generated
+ */
+ void setIdentifier(String value);
+
+} // PredefinedItem
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedMenu.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedMenu.java
new file mode 100644
index 000000000..532e7927a
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/PredefinedMenu.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Predefined Menu</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getPredefinedMenu()
+ * @model
+ * @generated
+ */
+public interface PredefinedMenu extends Menu, PredefinedItem {
+} // PredefinedMenu
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Separator.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Separator.java
new file mode 100644
index 000000000..e192e0950
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Separator.java
@@ -0,0 +1,52 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Separator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.Separator#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getSeparator()
+ * @model
+ * @generated
+ */
+public interface Separator extends ItemBase {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getSeparator_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.Separator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // Separator
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardTool.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardTool.java
new file mode 100644
index 000000000..6d7ef816a
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardTool.java
@@ -0,0 +1,59 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Standard Tool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * predefined, like zoom or marquee
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.StandardTool#getToolKind <em>Tool Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getStandardTool()
+ * @model
+ * @generated
+ */
+public interface StandardTool extends AbstractTool {
+ /**
+ * Returns the value of the '<em><b>Tool Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.gmf.tooldef.StandardToolKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tool Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tool Kind</em>' attribute.
+ * @see org.eclipse.gmf.tooldef.StandardToolKind
+ * @see #setToolKind(StandardToolKind)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getStandardTool_ToolKind()
+ * @model
+ * @generated
+ */
+ StandardToolKind getToolKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.StandardTool#getToolKind <em>Tool Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tool Kind</em>' attribute.
+ * @see org.eclipse.gmf.tooldef.StandardToolKind
+ * @see #getToolKind()
+ * @generated
+ */
+ void setToolKind(StandardToolKind value);
+
+} // StandardTool
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardToolKind.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardToolKind.java
new file mode 100644
index 000000000..a2e03d62f
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StandardToolKind.java
@@ -0,0 +1,257 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Standard Tool Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getStandardToolKind()
+ * @model
+ * @generated
+ */
+public final class StandardToolKind extends AbstractEnumerator {
+ /**
+ * The '<em><b>SELECT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SELECT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SELECT_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SELECT = 0;
+
+ /**
+ * The '<em><b>SELECT PAN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SELECT PAN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SELECT_PAN_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SELECT_PAN = 1;
+
+ /**
+ * The '<em><b>MARQUEE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MARQUEE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MARQUEE_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MARQUEE = 2;
+
+ /**
+ * The '<em><b>ZOOM PAN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ZOOM PAN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ZOOM_PAN_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ZOOM_PAN = 3;
+
+ /**
+ * The '<em><b>ZOOM IN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ZOOM IN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ZOOM_IN_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ZOOM_IN = 4;
+
+ /**
+ * The '<em><b>ZOOM OUT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ZOOM OUT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ZOOM_OUT_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ZOOM_OUT = 5;
+
+ /**
+ * The '<em><b>SELECT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SELECT
+ * @generated
+ * @ordered
+ */
+ public static final StandardToolKind SELECT_LITERAL = new StandardToolKind(SELECT, "SELECT", "SELECT");
+
+ /**
+ * The '<em><b>SELECT PAN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SELECT_PAN
+ * @generated
+ * @ordered
+ */
+ public static final StandardToolKind SELECT_PAN_LITERAL = new StandardToolKind(SELECT_PAN, "SELECT_PAN", "SELECT_PAN");
+
+ /**
+ * The '<em><b>MARQUEE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MARQUEE
+ * @generated
+ * @ordered
+ */
+ public static final StandardToolKind MARQUEE_LITERAL = new StandardToolKind(MARQUEE, "MARQUEE", "MARQUEE");
+
+ /**
+ * The '<em><b>ZOOM PAN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ZOOM_PAN
+ * @generated
+ * @ordered
+ */
+ public static final StandardToolKind ZOOM_PAN_LITERAL = new StandardToolKind(ZOOM_PAN, "ZOOM_PAN", "ZOOM_PAN");
+
+ /**
+ * The '<em><b>ZOOM IN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ZOOM_IN
+ * @generated
+ * @ordered
+ */
+ public static final StandardToolKind ZOOM_IN_LITERAL = new StandardToolKind(ZOOM_IN, "ZOOM_IN", "ZOOM_IN");
+
+ /**
+ * The '<em><b>ZOOM OUT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ZOOM_OUT
+ * @generated
+ * @ordered
+ */
+ public static final StandardToolKind ZOOM_OUT_LITERAL = new StandardToolKind(ZOOM_OUT, "ZOOM_OUT", "ZOOM_OUT");
+
+ /**
+ * An array of all the '<em><b>Standard Tool Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final StandardToolKind[] VALUES_ARRAY = new StandardToolKind[] { SELECT_LITERAL, SELECT_PAN_LITERAL, MARQUEE_LITERAL, ZOOM_PAN_LITERAL, ZOOM_IN_LITERAL, ZOOM_OUT_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Standard Tool Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Standard Tool Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StandardToolKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ StandardToolKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Standard Tool Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StandardToolKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ StandardToolKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Standard Tool Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StandardToolKind get(int value) {
+ switch (value) {
+ case SELECT:
+ return SELECT_LITERAL;
+ case SELECT_PAN:
+ return SELECT_PAN_LITERAL;
+ case MARQUEE:
+ return MARQUEE_LITERAL;
+ case ZOOM_PAN:
+ return ZOOM_PAN_LITERAL;
+ case ZOOM_IN:
+ return ZOOM_IN_LITERAL;
+ case ZOOM_OUT:
+ return ZOOM_OUT_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private StandardToolKind(int value, String name, String literal) {
+ super(value, name, literal);
+ }
+
+} //StandardToolKind
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StyleSelector.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StyleSelector.java
new file mode 100644
index 000000000..faae34081
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/StyleSelector.java
@@ -0,0 +1,30 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Style Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getStyleSelector()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface StyleSelector extends EObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ boolean isOk(Object style);
+
+} // StyleSelector
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolContainer.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolContainer.java
new file mode 100644
index 000000000..16b56498c
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolContainer.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tool Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.ToolContainer#getTools <em>Tools</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolContainer()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ToolContainer extends AbstractTool {
+ /**
+ * Returns the value of the '<em><b>Tools</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.gmf.tooldef.AbstractTool}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tools</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tools</em>' containment reference list.
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolContainer_Tools()
+ * @model type="org.eclipse.gmf.tooldef.AbstractTool" containment="true"
+ * @generated
+ */
+ EList getTools();
+
+} // ToolContainer
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolGroup.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolGroup.java
new file mode 100644
index 000000000..29a6c2491
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolGroup.java
@@ -0,0 +1,79 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tool Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.ToolGroup#isCollapsible <em>Collapsible</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.ToolGroup#getActive <em>Active</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolGroup()
+ * @model
+ * @generated
+ */
+public interface ToolGroup extends ToolContainer {
+ /**
+ * Returns the value of the '<em><b>Collapsible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Collapsible</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Collapsible</em>' attribute.
+ * @see #setCollapsible(boolean)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolGroup_Collapsible()
+ * @model
+ * @generated
+ */
+ boolean isCollapsible();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ToolGroup#isCollapsible <em>Collapsible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Collapsible</em>' attribute.
+ * @see #isCollapsible()
+ * @generated
+ */
+ void setCollapsible(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Active</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Active</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Active</em>' reference.
+ * @see #setActive(AbstractTool)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolGroup_Active()
+ * @model
+ * @generated
+ */
+ AbstractTool getActive();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ToolGroup#getActive <em>Active</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Active</em>' reference.
+ * @see #getActive()
+ * @generated
+ */
+ void setActive(AbstractTool value);
+
+} // ToolGroup
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolRegistry.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolRegistry.java
new file mode 100644
index 000000000..55ccecda9
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/ToolRegistry.java
@@ -0,0 +1,89 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tool Registry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.ToolRegistry#getSharedActions <em>Shared Actions</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.ToolRegistry#getAllMenus <em>All Menus</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.ToolRegistry#getPalette <em>Palette</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolRegistry()
+ * @model
+ * @generated
+ */
+public interface ToolRegistry extends EObject {
+ /**
+ * Returns the value of the '<em><b>Shared Actions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.gmf.tooldef.MenuAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Instead of placing common actions somewhere in menu hierarchy and referencing them in (2..n) cases, keep them in this central registry and use ItemRef everywhere (i.e. in 1..n cases)
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Shared Actions</em>' containment reference list.
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolRegistry_SharedActions()
+ * @model type="org.eclipse.gmf.tooldef.MenuAction" containment="true"
+ * @generated
+ */
+ EList getSharedActions();
+
+ /**
+ * Returns the value of the '<em><b>All Menus</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.gmf.tooldef.Menu}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>All Menus</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>All Menus</em>' containment reference list.
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolRegistry_AllMenus()
+ * @model type="org.eclipse.gmf.tooldef.Menu" containment="true"
+ * @generated
+ */
+ EList getAllMenus();
+
+ /**
+ * Returns the value of the '<em><b>Palette</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Palette</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Palette</em>' containment reference.
+ * @see #setPalette(Palette)
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolRegistry_Palette()
+ * @model containment="true"
+ * @generated
+ */
+ Palette getPalette();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.tooldef.ToolRegistry#getPalette <em>Palette</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Palette</em>' containment reference.
+ * @see #getPalette()
+ * @generated
+ */
+ void setPalette(Palette value);
+
+} // ToolRegistry
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Toolbar.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Toolbar.java
new file mode 100644
index 000000000..6b79a6768
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/Toolbar.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Toolbar</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#getToolbar()
+ * @model
+ * @generated
+ */
+public interface Toolbar extends Menu {
+} // Toolbar
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/AbstractToolImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/AbstractToolImpl.java
new file mode 100644
index 000000000..81fa152b4
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/AbstractToolImpl.java
@@ -0,0 +1,368 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.AbstractTool;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Image;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Tool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.AbstractToolImpl#getSmallIcon <em>Small Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.AbstractToolImpl#getLargeIcon <em>Large Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.AbstractToolImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.AbstractToolImpl#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractToolImpl extends EObjectImpl implements AbstractTool {
+ /**
+ * The cached value of the '{@link #getSmallIcon() <em>Small Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSmallIcon()
+ * @generated
+ * @ordered
+ */
+ protected Image smallIcon = null;
+
+ /**
+ * The cached value of the '{@link #getLargeIcon() <em>Large Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLargeIcon()
+ * @generated
+ * @ordered
+ */
+ protected Image largeIcon = null;
+
+ /**
+ * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected String title = TITLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractToolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getAbstractTool();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image getSmallIcon() {
+ return smallIcon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSmallIcon(Image newSmallIcon, NotificationChain msgs) {
+ Image oldSmallIcon = smallIcon;
+ smallIcon = newSmallIcon;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON, oldSmallIcon, newSmallIcon);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSmallIcon(Image newSmallIcon) {
+ if (newSmallIcon != smallIcon) {
+ NotificationChain msgs = null;
+ if (smallIcon != null)
+ msgs = ((InternalEObject) smallIcon).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON, null, msgs);
+ if (newSmallIcon != null)
+ msgs = ((InternalEObject) newSmallIcon).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON, null, msgs);
+ msgs = basicSetSmallIcon(newSmallIcon, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON, newSmallIcon, newSmallIcon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image getLargeIcon() {
+ return largeIcon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLargeIcon(Image newLargeIcon, NotificationChain msgs) {
+ Image oldLargeIcon = largeIcon;
+ largeIcon = newLargeIcon;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON, oldLargeIcon, newLargeIcon);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLargeIcon(Image newLargeIcon) {
+ if (newLargeIcon != largeIcon) {
+ NotificationChain msgs = null;
+ if (largeIcon != null)
+ msgs = ((InternalEObject) largeIcon).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON, null, msgs);
+ if (newLargeIcon != null)
+ msgs = ((InternalEObject) newLargeIcon).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON, null, msgs);
+ msgs = basicSetLargeIcon(newLargeIcon, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON, newLargeIcon, newLargeIcon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTitle(String newTitle) {
+ String oldTitle = title;
+ title = newTitle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.ABSTRACT_TOOL__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.ABSTRACT_TOOL__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON:
+ return basicSetSmallIcon(null, msgs);
+ case GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON:
+ return basicSetLargeIcon(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON:
+ return getSmallIcon();
+ case GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON:
+ return getLargeIcon();
+ case GMFToolPackage.ABSTRACT_TOOL__TITLE:
+ return getTitle();
+ case GMFToolPackage.ABSTRACT_TOOL__DESCRIPTION:
+ return getDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON:
+ setSmallIcon((Image) newValue);
+ return;
+ case GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON:
+ setLargeIcon((Image) newValue);
+ return;
+ case GMFToolPackage.ABSTRACT_TOOL__TITLE:
+ setTitle((String) newValue);
+ return;
+ case GMFToolPackage.ABSTRACT_TOOL__DESCRIPTION:
+ setDescription((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON:
+ setSmallIcon((Image) null);
+ return;
+ case GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON:
+ setLargeIcon((Image) null);
+ return;
+ case GMFToolPackage.ABSTRACT_TOOL__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case GMFToolPackage.ABSTRACT_TOOL__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.ABSTRACT_TOOL__SMALL_ICON:
+ return smallIcon != null;
+ case GMFToolPackage.ABSTRACT_TOOL__LARGE_ICON:
+ return largeIcon != null;
+ case GMFToolPackage.ABSTRACT_TOOL__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case GMFToolPackage.ABSTRACT_TOOL__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AbstractToolImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/BundleImageImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/BundleImageImpl.java
new file mode 100644
index 000000000..a32c17ee6
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/BundleImageImpl.java
@@ -0,0 +1,216 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.BundleImage;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bundle Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.BundleImageImpl#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.BundleImageImpl#getBundle <em>Bundle</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BundleImageImpl extends EObjectImpl implements BundleImage {
+ /**
+ * The default value of the '{@link #getPath() <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPath() <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected String path = PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBundle() <em>Bundle</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundle()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUNDLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBundle() <em>Bundle</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundle()
+ * @generated
+ * @ordered
+ */
+ protected String bundle = BUNDLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BundleImageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getBundleImage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPath() {
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPath(String newPath) {
+ String oldPath = path;
+ path = newPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.BUNDLE_IMAGE__PATH, oldPath, path));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBundle() {
+ return bundle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBundle(String newBundle) {
+ String oldBundle = bundle;
+ bundle = newBundle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.BUNDLE_IMAGE__BUNDLE, oldBundle, bundle));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.BUNDLE_IMAGE__PATH:
+ return getPath();
+ case GMFToolPackage.BUNDLE_IMAGE__BUNDLE:
+ return getBundle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.BUNDLE_IMAGE__PATH:
+ setPath((String) newValue);
+ return;
+ case GMFToolPackage.BUNDLE_IMAGE__BUNDLE:
+ setBundle((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.BUNDLE_IMAGE__PATH:
+ setPath(PATH_EDEFAULT);
+ return;
+ case GMFToolPackage.BUNDLE_IMAGE__BUNDLE:
+ setBundle(BUNDLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.BUNDLE_IMAGE__PATH:
+ return PATH_EDEFAULT == null ? path != null : !PATH_EDEFAULT.equals(path);
+ case GMFToolPackage.BUNDLE_IMAGE__BUNDLE:
+ return BUNDLE_EDEFAULT == null ? bundle != null : !BUNDLE_EDEFAULT.equals(bundle);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (path: ");
+ result.append(path);
+ result.append(", bundle: ");
+ result.append(bundle);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BundleImageImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ContextMenuImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ContextMenuImpl.java
new file mode 100644
index 000000000..ada42796d
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ContextMenuImpl.java
@@ -0,0 +1,156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.ContextMenu;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.MenuAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Context Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ContextMenuImpl#getDefault <em>Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ContextMenuImpl extends MenuImpl implements ContextMenu {
+ /**
+ * The cached value of the '{@link #getDefault() <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected MenuAction default_ = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContextMenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getContextMenu();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuAction getDefault() {
+ if (default_ != null && default_.eIsProxy()) {
+ InternalEObject oldDefault = (InternalEObject) default_;
+ default_ = (MenuAction) eResolveProxy(oldDefault);
+ if (default_ != oldDefault) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GMFToolPackage.CONTEXT_MENU__DEFAULT, oldDefault, default_));
+ }
+ }
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuAction basicGetDefault() {
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(MenuAction newDefault) {
+ MenuAction oldDefault = default_;
+ default_ = newDefault;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.CONTEXT_MENU__DEFAULT, oldDefault, default_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.CONTEXT_MENU__DEFAULT:
+ if (resolve)
+ return getDefault();
+ return basicGetDefault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.CONTEXT_MENU__DEFAULT:
+ setDefault((MenuAction) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.CONTEXT_MENU__DEFAULT:
+ setDefault((MenuAction) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.CONTEXT_MENU__DEFAULT:
+ return default_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ContextMenuImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/CreationToolImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/CreationToolImpl.java
new file mode 100644
index 000000000..ea71dd31f
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/CreationToolImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.tooldef.CreationTool;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Creation Tool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CreationToolImpl extends AbstractToolImpl implements CreationTool {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CreationToolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getCreationTool();
+ }
+
+} //CreationToolImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/DefaultImageImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/DefaultImageImpl.java
new file mode 100644
index 000000000..8364ea599
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/DefaultImageImpl.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.DefaultImage;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Default Image</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DefaultImageImpl extends EObjectImpl implements DefaultImage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DefaultImageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getDefaultImage();
+ }
+
+} //DefaultImageImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolFactoryImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolFactoryImpl.java
new file mode 100644
index 000000000..cfa5f2b18
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolFactoryImpl.java
@@ -0,0 +1,413 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.gmf.tooldef.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GMFToolFactoryImpl extends EFactoryImpl implements GMFToolFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GMFToolFactory init() {
+ try {
+ GMFToolFactory theGMFToolFactory = (GMFToolFactory) EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/gmf/2005/ToolDefinition");
+ if (theGMFToolFactory != null) {
+ return theGMFToolFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new GMFToolFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GMFToolFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case GMFToolPackage.TOOL_REGISTRY:
+ return createToolRegistry();
+ case GMFToolPackage.PALETTE_SEPARATOR:
+ return createPaletteSeparator();
+ case GMFToolPackage.TOOL_GROUP:
+ return createToolGroup();
+ case GMFToolPackage.PALETTE:
+ return createPalette();
+ case GMFToolPackage.STANDARD_TOOL:
+ return createStandardTool();
+ case GMFToolPackage.CREATION_TOOL:
+ return createCreationTool();
+ case GMFToolPackage.GENERIC_TOOL:
+ return createGenericTool();
+ case GMFToolPackage.SEPARATOR:
+ return createSeparator();
+ case GMFToolPackage.PREDEFINED_ITEM:
+ return createPredefinedItem();
+ case GMFToolPackage.PREDEFINED_MENU:
+ return createPredefinedMenu();
+ case GMFToolPackage.MENU_ACTION:
+ return createMenuAction();
+ case GMFToolPackage.ITEM_REF:
+ return createItemRef();
+ case GMFToolPackage.CONTEXT_MENU:
+ return createContextMenu();
+ case GMFToolPackage.POPUP_MENU:
+ return createPopupMenu();
+ case GMFToolPackage.MAIN_MENU:
+ return createMainMenu();
+ case GMFToolPackage.TOOLBAR:
+ return createToolbar();
+ case GMFToolPackage.DEFAULT_IMAGE:
+ return createDefaultImage();
+ case GMFToolPackage.BUNDLE_IMAGE:
+ return createBundleImage();
+ case GMFToolPackage.GENERIC_STYLE_SELECTOR:
+ return createGenericStyleSelector();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case GMFToolPackage.STANDARD_TOOL_KIND:
+ return createStandardToolKindFromString(eDataType, initialValue);
+ case GMFToolPackage.ACTION_KIND:
+ return createActionKindFromString(eDataType, initialValue);
+ case GMFToolPackage.APPEARANCE_STYLE:
+ return createAppearanceStyleFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case GMFToolPackage.STANDARD_TOOL_KIND:
+ return convertStandardToolKindToString(eDataType, instanceValue);
+ case GMFToolPackage.ACTION_KIND:
+ return convertActionKindToString(eDataType, instanceValue);
+ case GMFToolPackage.APPEARANCE_STYLE:
+ return convertAppearanceStyleToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ToolRegistry createToolRegistry() {
+ ToolRegistryImpl toolRegistry = new ToolRegistryImpl();
+ return toolRegistry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PaletteSeparator createPaletteSeparator() {
+ PaletteSeparatorImpl paletteSeparator = new PaletteSeparatorImpl();
+ return paletteSeparator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ToolGroup createToolGroup() {
+ ToolGroupImpl toolGroup = new ToolGroupImpl();
+ return toolGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Palette createPalette() {
+ PaletteImpl palette = new PaletteImpl();
+ return palette;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardTool createStandardTool() {
+ StandardToolImpl standardTool = new StandardToolImpl();
+ return standardTool;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CreationTool createCreationTool() {
+ CreationToolImpl creationTool = new CreationToolImpl();
+ return creationTool;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericTool createGenericTool() {
+ GenericToolImpl genericTool = new GenericToolImpl();
+ return genericTool;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Separator createSeparator() {
+ SeparatorImpl separator = new SeparatorImpl();
+ return separator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PredefinedItem createPredefinedItem() {
+ PredefinedItemImpl predefinedItem = new PredefinedItemImpl();
+ return predefinedItem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PredefinedMenu createPredefinedMenu() {
+ PredefinedMenuImpl predefinedMenu = new PredefinedMenuImpl();
+ return predefinedMenu;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MenuAction createMenuAction() {
+ MenuActionImpl menuAction = new MenuActionImpl();
+ return menuAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemRef createItemRef() {
+ ItemRefImpl itemRef = new ItemRefImpl();
+ return itemRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContextMenu createContextMenu() {
+ ContextMenuImpl contextMenu = new ContextMenuImpl();
+ return contextMenu;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PopupMenu createPopupMenu() {
+ PopupMenuImpl popupMenu = new PopupMenuImpl();
+ return popupMenu;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MainMenu createMainMenu() {
+ MainMenuImpl mainMenu = new MainMenuImpl();
+ return mainMenu;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Toolbar createToolbar() {
+ ToolbarImpl toolbar = new ToolbarImpl();
+ return toolbar;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DefaultImage createDefaultImage() {
+ DefaultImageImpl defaultImage = new DefaultImageImpl();
+ return defaultImage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BundleImage createBundleImage() {
+ BundleImageImpl bundleImage = new BundleImageImpl();
+ return bundleImage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericStyleSelector createGenericStyleSelector() {
+ GenericStyleSelectorImpl genericStyleSelector = new GenericStyleSelectorImpl();
+ return genericStyleSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardToolKind createStandardToolKindFromString(EDataType eDataType, String initialValue) {
+ StandardToolKind result = StandardToolKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertStandardToolKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionKind createActionKindFromString(EDataType eDataType, String initialValue) {
+ ActionKind result = ActionKind.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertActionKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AppearanceStyle createAppearanceStyleFromString(EDataType eDataType, String initialValue) {
+ AppearanceStyle result = AppearanceStyle.get(initialValue);
+ if (result == null)
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAppearanceStyleToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GMFToolPackage getGMFToolPackage() {
+ return (GMFToolPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ public static GMFToolPackage getPackage() {
+ return GMFToolPackage.eINSTANCE;
+ }
+
+} //GMFToolFactoryImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolPackageImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolPackageImpl.java
new file mode 100644
index 000000000..9dc303c9b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GMFToolPackageImpl.java
@@ -0,0 +1,1131 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.gmf.tooldef.AbstractTool;
+import org.eclipse.gmf.tooldef.ActionKind;
+import org.eclipse.gmf.tooldef.AppearanceStyle;
+import org.eclipse.gmf.tooldef.BundleImage;
+import org.eclipse.gmf.tooldef.ContextMenu;
+import org.eclipse.gmf.tooldef.ContributionItem;
+import org.eclipse.gmf.tooldef.CreationTool;
+import org.eclipse.gmf.tooldef.DefaultImage;
+import org.eclipse.gmf.tooldef.GMFToolFactory;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.GenericStyleSelector;
+import org.eclipse.gmf.tooldef.GenericTool;
+import org.eclipse.gmf.tooldef.Image;
+import org.eclipse.gmf.tooldef.ItemBase;
+import org.eclipse.gmf.tooldef.ItemRef;
+import org.eclipse.gmf.tooldef.MainMenu;
+import org.eclipse.gmf.tooldef.Menu;
+import org.eclipse.gmf.tooldef.MenuAction;
+import org.eclipse.gmf.tooldef.Palette;
+import org.eclipse.gmf.tooldef.PaletteSeparator;
+import org.eclipse.gmf.tooldef.PopupMenu;
+import org.eclipse.gmf.tooldef.PredefinedItem;
+import org.eclipse.gmf.tooldef.PredefinedMenu;
+import org.eclipse.gmf.tooldef.Separator;
+import org.eclipse.gmf.tooldef.StandardTool;
+import org.eclipse.gmf.tooldef.StandardToolKind;
+import org.eclipse.gmf.tooldef.StyleSelector;
+import org.eclipse.gmf.tooldef.ToolContainer;
+import org.eclipse.gmf.tooldef.ToolGroup;
+import org.eclipse.gmf.tooldef.ToolRegistry;
+import org.eclipse.gmf.tooldef.Toolbar;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GMFToolPackageImpl extends EPackageImpl implements GMFToolPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass toolRegistryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractToolEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass toolContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass paletteSeparatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass toolGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass paletteEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass standardToolEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass creationToolEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genericToolEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemBaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass separatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass predefinedItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass predefinedMenuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass contributionItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass menuActionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemRefEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass contextMenuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass popupMenuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mainMenuEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass toolbarEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass imageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass defaultImageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bundleImageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass styleSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genericStyleSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum standardToolKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum actionKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum appearanceStyleEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private GMFToolPackageImpl() {
+ super(eNS_URI, GMFToolFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this
+ * model, and for any others upon which it depends. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static GMFToolPackage init() {
+ if (isInited)
+ return (GMFToolPackage) EPackage.Registry.INSTANCE.getEPackage(GMFToolPackage.eNS_URI);
+
+ // Obtain or create and register package
+ GMFToolPackageImpl theGMFToolPackage = (GMFToolPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof GMFToolPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI)
+ : new GMFToolPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theGMFToolPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theGMFToolPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theGMFToolPackage.freeze();
+
+ return theGMFToolPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getToolRegistry() {
+ return toolRegistryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolRegistry_SharedActions() {
+ return (EReference) toolRegistryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolRegistry_AllMenus() {
+ return (EReference) toolRegistryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolRegistry_Palette() {
+ return (EReference) toolRegistryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractTool() {
+ return abstractToolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAbstractTool_SmallIcon() {
+ return (EReference) abstractToolEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAbstractTool_LargeIcon() {
+ return (EReference) abstractToolEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAbstractTool_Title() {
+ return (EAttribute) abstractToolEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAbstractTool_Description() {
+ return (EAttribute) abstractToolEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getToolContainer() {
+ return toolContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolContainer_Tools() {
+ return (EReference) toolContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPaletteSeparator() {
+ return paletteSeparatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getToolGroup() {
+ return toolGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getToolGroup_Collapsible() {
+ return (EAttribute) toolGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getToolGroup_Active() {
+ return (EReference) toolGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPalette() {
+ return paletteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPalette_Default() {
+ return (EReference) paletteEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStandardTool() {
+ return standardToolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStandardTool_ToolKind() {
+ return (EAttribute) standardToolEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCreationTool() {
+ return creationToolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenericTool() {
+ return genericToolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGenericTool_ToolClass() {
+ return (EAttribute) genericToolEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemBase() {
+ return itemBaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenu() {
+ return menuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMenu_Items() {
+ return (EReference) menuEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSeparator() {
+ return separatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSeparator_Name() {
+ return (EAttribute) separatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPredefinedItem() {
+ return predefinedItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPredefinedItem_Identifier() {
+ return (EAttribute) predefinedItemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPredefinedMenu() {
+ return predefinedMenuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContributionItem() {
+ return contributionItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getContributionItem_Icon() {
+ return (EReference) contributionItemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributionItem_Title() {
+ return (EAttribute) contributionItemEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMenuAction() {
+ return menuActionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuAction_Kind() {
+ return (EAttribute) menuActionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMenuAction_HotKey() {
+ return (EAttribute) menuActionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemRef() {
+ return itemRefEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemRef_Item() {
+ return (EReference) itemRefEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContextMenu() {
+ return contextMenuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getContextMenu_Default() {
+ return (EReference) contextMenuEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPopupMenu() {
+ return popupMenuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPopupMenu_ID() {
+ return (EAttribute) popupMenuEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMainMenu() {
+ return mainMenuEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMainMenu_Title() {
+ return (EAttribute) mainMenuEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getToolbar() {
+ return toolbarEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImage() {
+ return imageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDefaultImage() {
+ return defaultImageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBundleImage() {
+ return bundleImageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBundleImage_Path() {
+ return (EAttribute) bundleImageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBundleImage_Bundle() {
+ return (EAttribute) bundleImageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStyleSelector() {
+ return styleSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenericStyleSelector() {
+ return genericStyleSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGenericStyleSelector_Value() {
+ return (EAttribute) genericStyleSelectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getStandardToolKind() {
+ return standardToolKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getActionKind() {
+ return actionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAppearanceStyle() {
+ return appearanceStyleEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GMFToolFactory getGMFToolFactory() {
+ return (GMFToolFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated)
+ return;
+ isCreated = true;
+
+ // Create classes and their features
+ toolRegistryEClass = createEClass(TOOL_REGISTRY);
+ createEReference(toolRegistryEClass, TOOL_REGISTRY__SHARED_ACTIONS);
+ createEReference(toolRegistryEClass, TOOL_REGISTRY__ALL_MENUS);
+ createEReference(toolRegistryEClass, TOOL_REGISTRY__PALETTE);
+
+ abstractToolEClass = createEClass(ABSTRACT_TOOL);
+ createEReference(abstractToolEClass, ABSTRACT_TOOL__SMALL_ICON);
+ createEReference(abstractToolEClass, ABSTRACT_TOOL__LARGE_ICON);
+ createEAttribute(abstractToolEClass, ABSTRACT_TOOL__TITLE);
+ createEAttribute(abstractToolEClass, ABSTRACT_TOOL__DESCRIPTION);
+
+ toolContainerEClass = createEClass(TOOL_CONTAINER);
+ createEReference(toolContainerEClass, TOOL_CONTAINER__TOOLS);
+
+ paletteSeparatorEClass = createEClass(PALETTE_SEPARATOR);
+
+ toolGroupEClass = createEClass(TOOL_GROUP);
+ createEAttribute(toolGroupEClass, TOOL_GROUP__COLLAPSIBLE);
+ createEReference(toolGroupEClass, TOOL_GROUP__ACTIVE);
+
+ paletteEClass = createEClass(PALETTE);
+ createEReference(paletteEClass, PALETTE__DEFAULT);
+
+ standardToolEClass = createEClass(STANDARD_TOOL);
+ createEAttribute(standardToolEClass, STANDARD_TOOL__TOOL_KIND);
+
+ creationToolEClass = createEClass(CREATION_TOOL);
+
+ genericToolEClass = createEClass(GENERIC_TOOL);
+ createEAttribute(genericToolEClass, GENERIC_TOOL__TOOL_CLASS);
+
+ itemBaseEClass = createEClass(ITEM_BASE);
+
+ menuEClass = createEClass(MENU);
+ createEReference(menuEClass, MENU__ITEMS);
+
+ separatorEClass = createEClass(SEPARATOR);
+ createEAttribute(separatorEClass, SEPARATOR__NAME);
+
+ predefinedItemEClass = createEClass(PREDEFINED_ITEM);
+ createEAttribute(predefinedItemEClass, PREDEFINED_ITEM__IDENTIFIER);
+
+ predefinedMenuEClass = createEClass(PREDEFINED_MENU);
+
+ contributionItemEClass = createEClass(CONTRIBUTION_ITEM);
+ createEReference(contributionItemEClass, CONTRIBUTION_ITEM__ICON);
+ createEAttribute(contributionItemEClass, CONTRIBUTION_ITEM__TITLE);
+
+ menuActionEClass = createEClass(MENU_ACTION);
+ createEAttribute(menuActionEClass, MENU_ACTION__KIND);
+ createEAttribute(menuActionEClass, MENU_ACTION__HOT_KEY);
+
+ itemRefEClass = createEClass(ITEM_REF);
+ createEReference(itemRefEClass, ITEM_REF__ITEM);
+
+ contextMenuEClass = createEClass(CONTEXT_MENU);
+ createEReference(contextMenuEClass, CONTEXT_MENU__DEFAULT);
+
+ popupMenuEClass = createEClass(POPUP_MENU);
+ createEAttribute(popupMenuEClass, POPUP_MENU__ID);
+
+ mainMenuEClass = createEClass(MAIN_MENU);
+ createEAttribute(mainMenuEClass, MAIN_MENU__TITLE);
+
+ toolbarEClass = createEClass(TOOLBAR);
+
+ imageEClass = createEClass(IMAGE);
+
+ defaultImageEClass = createEClass(DEFAULT_IMAGE);
+
+ bundleImageEClass = createEClass(BUNDLE_IMAGE);
+ createEAttribute(bundleImageEClass, BUNDLE_IMAGE__PATH);
+ createEAttribute(bundleImageEClass, BUNDLE_IMAGE__BUNDLE);
+
+ styleSelectorEClass = createEClass(STYLE_SELECTOR);
+
+ genericStyleSelectorEClass = createEClass(GENERIC_STYLE_SELECTOR);
+ createEAttribute(genericStyleSelectorEClass, GENERIC_STYLE_SELECTOR__VALUE);
+
+ // Create enums
+ standardToolKindEEnum = createEEnum(STANDARD_TOOL_KIND);
+ actionKindEEnum = createEEnum(ACTION_KIND);
+ appearanceStyleEEnum = createEEnum(APPEARANCE_STYLE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized)
+ return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Add supertypes to classes
+ toolContainerEClass.getESuperTypes().add(this.getAbstractTool());
+ paletteSeparatorEClass.getESuperTypes().add(this.getAbstractTool());
+ toolGroupEClass.getESuperTypes().add(this.getToolContainer());
+ paletteEClass.getESuperTypes().add(this.getToolContainer());
+ standardToolEClass.getESuperTypes().add(this.getAbstractTool());
+ creationToolEClass.getESuperTypes().add(this.getAbstractTool());
+ genericToolEClass.getESuperTypes().add(this.getAbstractTool());
+ separatorEClass.getESuperTypes().add(this.getItemBase());
+ predefinedItemEClass.getESuperTypes().add(this.getItemBase());
+ predefinedMenuEClass.getESuperTypes().add(this.getMenu());
+ predefinedMenuEClass.getESuperTypes().add(this.getPredefinedItem());
+ contributionItemEClass.getESuperTypes().add(this.getItemBase());
+ menuActionEClass.getESuperTypes().add(this.getContributionItem());
+ itemRefEClass.getESuperTypes().add(this.getItemBase());
+ contextMenuEClass.getESuperTypes().add(this.getMenu());
+ popupMenuEClass.getESuperTypes().add(this.getMenu());
+ popupMenuEClass.getESuperTypes().add(this.getContributionItem());
+ mainMenuEClass.getESuperTypes().add(this.getMenu());
+ toolbarEClass.getESuperTypes().add(this.getMenu());
+ defaultImageEClass.getESuperTypes().add(this.getImage());
+ bundleImageEClass.getESuperTypes().add(this.getImage());
+ genericStyleSelectorEClass.getESuperTypes().add(this.getStyleSelector());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(toolRegistryEClass, ToolRegistry.class, "ToolRegistry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getToolRegistry_SharedActions(), this.getMenuAction(), null, "sharedActions", null, 0, -1, ToolRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getToolRegistry_AllMenus(), this.getMenu(), null, "allMenus", null, 0, -1, ToolRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getToolRegistry_Palette(), this.getPalette(), null, "palette", null, 0, 1, ToolRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(abstractToolEClass, AbstractTool.class, "AbstractTool", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAbstractTool_SmallIcon(), this.getImage(), null, "smallIcon", null, 0, 1, AbstractTool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAbstractTool_LargeIcon(), this.getImage(), null, "largeIcon", null, 0, 1, AbstractTool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractTool_Title(), ecorePackage.getEString(), "title", null, 0, 1, AbstractTool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractTool_Description(), ecorePackage.getEString(), "description", null, 0, 1, AbstractTool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(toolContainerEClass, ToolContainer.class, "ToolContainer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getToolContainer_Tools(), this.getAbstractTool(), null, "tools", null, 0, -1, ToolContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(paletteSeparatorEClass, PaletteSeparator.class, "PaletteSeparator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(toolGroupEClass, ToolGroup.class, "ToolGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getToolGroup_Collapsible(), ecorePackage.getEBoolean(), "collapsible", null, 0, 1, ToolGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getToolGroup_Active(), this.getAbstractTool(), null, "active", null, 0, 1, ToolGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(paletteEClass, Palette.class, "Palette", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPalette_Default(), this.getAbstractTool(), null, "default", null, 0, 1, Palette.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(standardToolEClass, StandardTool.class, "StandardTool", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStandardTool_ToolKind(), this.getStandardToolKind(), "toolKind", null, 0, 1, StandardTool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(creationToolEClass, CreationTool.class, "CreationTool", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(genericToolEClass, GenericTool.class, "GenericTool", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGenericTool_ToolClass(), ecorePackage.getEJavaClass(), "toolClass", null, 0, 1, GenericTool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemBaseEClass, ItemBase.class, "ItemBase", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(menuEClass, Menu.class, "Menu", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMenu_Items(), this.getItemBase(), null, "items", null, 0, -1, Menu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(separatorEClass, Separator.class, "Separator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSeparator_Name(), ecorePackage.getEString(), "name", null, 0, 1, Separator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(predefinedItemEClass, PredefinedItem.class, "PredefinedItem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPredefinedItem_Identifier(), ecorePackage.getEString(), "identifier", null, 0, 1, PredefinedItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(predefinedMenuEClass, PredefinedMenu.class, "PredefinedMenu", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(contributionItemEClass, ContributionItem.class, "ContributionItem", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContributionItem_Icon(), this.getImage(), null, "icon", null, 0, 1, ContributionItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributionItem_Title(), ecorePackage.getEString(), "title", null, 0, 1, ContributionItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(menuActionEClass, MenuAction.class, "MenuAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMenuAction_Kind(), this.getActionKind(), "kind", null, 0, 1, MenuAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+ initEAttribute(getMenuAction_HotKey(), ecorePackage.getEString(), "hotKey", null, 0, 1, MenuAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemRefEClass, ItemRef.class, "ItemRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getItemRef_Item(), this.getItemBase(), null, "item", null, 1, 1, ItemRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(contextMenuEClass, ContextMenu.class, "ContextMenu", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContextMenu_Default(), this.getMenuAction(), null, "default", null, 0, 1, ContextMenu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(popupMenuEClass, PopupMenu.class, "PopupMenu", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPopupMenu_ID(), ecorePackage.getEString(), "iD", null, 0, 1, PopupMenu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(mainMenuEClass, MainMenu.class, "MainMenu", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMainMenu_Title(), ecorePackage.getEString(), "title", null, 0, 1, MainMenu.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(toolbarEClass, Toolbar.class, "Toolbar", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(imageEClass, Image.class, "Image", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(defaultImageEClass, DefaultImage.class, "DefaultImage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(bundleImageEClass, BundleImage.class, "BundleImage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBundleImage_Path(), ecorePackage.getEString(), "path", null, 0, 1, BundleImage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBundleImage_Bundle(), ecorePackage.getEString(), "bundle", null, 0, 1, BundleImage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(styleSelectorEClass, StyleSelector.class, "StyleSelector", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ EOperation op = addEOperation(styleSelectorEClass, ecorePackage.getEBoolean(), "isOk", 0, 1);
+ addEParameter(op, ecorePackage.getEJavaObject(), "style", 0, 1);
+
+ initEClass(genericStyleSelectorEClass, GenericStyleSelector.class, "GenericStyleSelector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGenericStyleSelector_Value(), this.getAppearanceStyle(), "value", null, 0, 1, GenericStyleSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(standardToolKindEEnum, StandardToolKind.class, "StandardToolKind");
+ addEEnumLiteral(standardToolKindEEnum, StandardToolKind.SELECT_LITERAL);
+ addEEnumLiteral(standardToolKindEEnum, StandardToolKind.SELECT_PAN_LITERAL);
+ addEEnumLiteral(standardToolKindEEnum, StandardToolKind.MARQUEE_LITERAL);
+ addEEnumLiteral(standardToolKindEEnum, StandardToolKind.ZOOM_PAN_LITERAL);
+ addEEnumLiteral(standardToolKindEEnum, StandardToolKind.ZOOM_IN_LITERAL);
+ addEEnumLiteral(standardToolKindEEnum, StandardToolKind.ZOOM_OUT_LITERAL);
+
+ initEEnum(actionKindEEnum, ActionKind.class, "ActionKind");
+ addEEnumLiteral(actionKindEEnum, ActionKind.CREATE_LITERAL);
+ addEEnumLiteral(actionKindEEnum, ActionKind.PROPCHANGE_LITERAL);
+ addEEnumLiteral(actionKindEEnum, ActionKind.MODIFY_LITERAL);
+ addEEnumLiteral(actionKindEEnum, ActionKind.PROCESS_LITERAL);
+ addEEnumLiteral(actionKindEEnum, ActionKind.CUSTOM_LITERAL);
+
+ initEEnum(appearanceStyleEEnum, AppearanceStyle.class, "AppearanceStyle");
+ addEEnumLiteral(appearanceStyleEEnum, AppearanceStyle.FONT_LITERAL);
+ addEEnumLiteral(appearanceStyleEEnum, AppearanceStyle.FILL_LITERAL);
+ addEEnumLiteral(appearanceStyleEEnum, AppearanceStyle.LINE_LITERAL);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //GMFToolPackageImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericStyleSelectorImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericStyleSelectorImpl.java
new file mode 100644
index 000000000..27e6fc517
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericStyleSelectorImpl.java
@@ -0,0 +1,176 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.AppearanceStyle;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.GenericStyleSelector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generic Style Selector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.GenericStyleSelectorImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenericStyleSelectorImpl extends EObjectImpl implements GenericStyleSelector {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final AppearanceStyle VALUE_EDEFAULT = AppearanceStyle.FONT_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected AppearanceStyle value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenericStyleSelectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getGenericStyleSelector();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AppearanceStyle getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(AppearanceStyle newValue) {
+ AppearanceStyle oldValue = value;
+ value = newValue == null ? VALUE_EDEFAULT : newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.GENERIC_STYLE_SELECTOR__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public boolean isOk(Object style) {
+ if (false == style instanceof EObject) {
+ return false;
+ }
+ return ((EObject) style).eClass().getName().equals(getValue().getName() + "Style");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_STYLE_SELECTOR__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_STYLE_SELECTOR__VALUE:
+ setValue((AppearanceStyle) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_STYLE_SELECTOR__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_STYLE_SELECTOR__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GenericStyleSelectorImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericToolImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericToolImpl.java
new file mode 100644
index 000000000..d776a31df
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/GenericToolImpl.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.GenericTool;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generic Tool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.GenericToolImpl#getToolClass <em>Tool Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenericToolImpl extends AbstractToolImpl implements GenericTool {
+ /**
+ * The default value of the '{@link #getToolClass() <em>Tool Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToolClass()
+ * @generated
+ * @ordered
+ */
+ protected static final Class TOOL_CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getToolClass() <em>Tool Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToolClass()
+ * @generated
+ * @ordered
+ */
+ protected Class toolClass = TOOL_CLASS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenericToolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getGenericTool();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Class getToolClass() {
+ return toolClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setToolClass(Class newToolClass) {
+ Class oldToolClass = toolClass;
+ toolClass = newToolClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.GENERIC_TOOL__TOOL_CLASS, oldToolClass, toolClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_TOOL__TOOL_CLASS:
+ return getToolClass();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_TOOL__TOOL_CLASS:
+ setToolClass((Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_TOOL__TOOL_CLASS:
+ setToolClass(TOOL_CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.GENERIC_TOOL__TOOL_CLASS:
+ return TOOL_CLASS_EDEFAULT == null ? toolClass != null : !TOOL_CLASS_EDEFAULT.equals(toolClass);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (toolClass: ");
+ result.append(toolClass);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GenericToolImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ItemRefImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ItemRefImpl.java
new file mode 100644
index 000000000..3c026c13d
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ItemRefImpl.java
@@ -0,0 +1,157 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.ItemBase;
+import org.eclipse.gmf.tooldef.ItemRef;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Ref</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ItemRefImpl#getItem <em>Item</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ItemRefImpl extends EObjectImpl implements ItemRef {
+ /**
+ * The cached value of the '{@link #getItem() <em>Item</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItem()
+ * @generated
+ * @ordered
+ */
+ protected ItemBase item = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemRefImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getItemRef();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemBase getItem() {
+ if (item != null && item.eIsProxy()) {
+ InternalEObject oldItem = (InternalEObject) item;
+ item = (ItemBase) eResolveProxy(oldItem);
+ if (item != oldItem) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GMFToolPackage.ITEM_REF__ITEM, oldItem, item));
+ }
+ }
+ return item;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemBase basicGetItem() {
+ return item;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItem(ItemBase newItem) {
+ ItemBase oldItem = item;
+ item = newItem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.ITEM_REF__ITEM, oldItem, item));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.ITEM_REF__ITEM:
+ if (resolve)
+ return getItem();
+ return basicGetItem();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.ITEM_REF__ITEM:
+ setItem((ItemBase) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.ITEM_REF__ITEM:
+ setItem((ItemBase) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.ITEM_REF__ITEM:
+ return item != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ItemRefImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MainMenuImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MainMenuImpl.java
new file mode 100644
index 000000000..4e5551431
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MainMenuImpl.java
@@ -0,0 +1,161 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.MainMenu;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Main Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.MainMenuImpl#getTitle <em>Title</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MainMenuImpl extends MenuImpl implements MainMenu {
+ /**
+ * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected String title = TITLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MainMenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getMainMenu();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTitle(String newTitle) {
+ String oldTitle = title;
+ title = newTitle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.MAIN_MENU__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.MAIN_MENU__TITLE:
+ return getTitle();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.MAIN_MENU__TITLE:
+ setTitle((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.MAIN_MENU__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.MAIN_MENU__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MainMenuImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuActionImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuActionImpl.java
new file mode 100644
index 000000000..5d632d4a5
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuActionImpl.java
@@ -0,0 +1,354 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.ActionKind;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Image;
+import org.eclipse.gmf.tooldef.MenuAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.MenuActionImpl#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.MenuActionImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.MenuActionImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.MenuActionImpl#getHotKey <em>Hot Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MenuActionImpl extends EObjectImpl implements MenuAction {
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected Image icon = null;
+
+ /**
+ * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected String title = TITLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ActionKind KIND_EDEFAULT = ActionKind.CREATE_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected ActionKind kind = KIND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHotKey() <em>Hot Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHotKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String HOT_KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getHotKey() <em>Hot Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHotKey()
+ * @generated
+ * @ordered
+ */
+ protected String hotKey = HOT_KEY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuActionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getMenuAction();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIcon(Image newIcon, NotificationChain msgs) {
+ Image oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFToolPackage.MENU_ACTION__ICON, oldIcon, newIcon);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIcon(Image newIcon) {
+ if (newIcon != icon) {
+ NotificationChain msgs = null;
+ if (icon != null)
+ msgs = ((InternalEObject) icon).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.MENU_ACTION__ICON, null, msgs);
+ if (newIcon != null)
+ msgs = ((InternalEObject) newIcon).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.MENU_ACTION__ICON, null, msgs);
+ msgs = basicSetIcon(newIcon, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.MENU_ACTION__ICON, newIcon, newIcon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTitle(String newTitle) {
+ String oldTitle = title;
+ title = newTitle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.MENU_ACTION__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActionKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(ActionKind newKind) {
+ ActionKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.MENU_ACTION__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getHotKey() {
+ return hotKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHotKey(String newHotKey) {
+ String oldHotKey = hotKey;
+ hotKey = newHotKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.MENU_ACTION__HOT_KEY, oldHotKey, hotKey));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFToolPackage.MENU_ACTION__ICON:
+ return basicSetIcon(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.MENU_ACTION__ICON:
+ return getIcon();
+ case GMFToolPackage.MENU_ACTION__TITLE:
+ return getTitle();
+ case GMFToolPackage.MENU_ACTION__KIND:
+ return getKind();
+ case GMFToolPackage.MENU_ACTION__HOT_KEY:
+ return getHotKey();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.MENU_ACTION__ICON:
+ setIcon((Image) newValue);
+ return;
+ case GMFToolPackage.MENU_ACTION__TITLE:
+ setTitle((String) newValue);
+ return;
+ case GMFToolPackage.MENU_ACTION__KIND:
+ setKind((ActionKind) newValue);
+ return;
+ case GMFToolPackage.MENU_ACTION__HOT_KEY:
+ setHotKey((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.MENU_ACTION__ICON:
+ setIcon((Image) null);
+ return;
+ case GMFToolPackage.MENU_ACTION__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case GMFToolPackage.MENU_ACTION__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case GMFToolPackage.MENU_ACTION__HOT_KEY:
+ setHotKey(HOT_KEY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.MENU_ACTION__ICON:
+ return icon != null;
+ case GMFToolPackage.MENU_ACTION__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case GMFToolPackage.MENU_ACTION__KIND:
+ return kind != KIND_EDEFAULT;
+ case GMFToolPackage.MENU_ACTION__HOT_KEY:
+ return HOT_KEY_EDEFAULT == null ? hotKey != null : !HOT_KEY_EDEFAULT.equals(hotKey);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(", hotKey: ");
+ result.append(hotKey);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MenuActionImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuImpl.java
new file mode 100644
index 000000000..e1bba6168
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/MenuImpl.java
@@ -0,0 +1,149 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.ItemBase;
+import org.eclipse.gmf.tooldef.Menu;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.MenuImpl#getItems <em>Items</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MenuImpl extends EObjectImpl implements Menu {
+ /**
+ * The cached value of the '{@link #getItems() <em>Items</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItems()
+ * @generated
+ * @ordered
+ */
+ protected EList items = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getMenu();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getItems() {
+ if (items == null) {
+ items = new EObjectContainmentEList(ItemBase.class, this, GMFToolPackage.MENU__ITEMS);
+ }
+ return items;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFToolPackage.MENU__ITEMS:
+ return ((InternalEList) getItems()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.MENU__ITEMS:
+ return getItems();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.MENU__ITEMS:
+ getItems().clear();
+ getItems().addAll((Collection) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.MENU__ITEMS:
+ getItems().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.MENU__ITEMS:
+ return items != null && !items.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MenuImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteImpl.java
new file mode 100644
index 000000000..7886e3779
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteImpl.java
@@ -0,0 +1,156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.AbstractTool;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Palette;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Palette</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.PaletteImpl#getDefault <em>Default</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PaletteImpl extends ToolContainerImpl implements Palette {
+ /**
+ * The cached value of the '{@link #getDefault() <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected AbstractTool default_ = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getPalette();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractTool getDefault() {
+ if (default_ != null && default_.eIsProxy()) {
+ InternalEObject oldDefault = (InternalEObject) default_;
+ default_ = (AbstractTool) eResolveProxy(oldDefault);
+ if (default_ != oldDefault) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GMFToolPackage.PALETTE__DEFAULT, oldDefault, default_));
+ }
+ }
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractTool basicGetDefault() {
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(AbstractTool newDefault) {
+ AbstractTool oldDefault = default_;
+ default_ = newDefault;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.PALETTE__DEFAULT, oldDefault, default_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.PALETTE__DEFAULT:
+ if (resolve)
+ return getDefault();
+ return basicGetDefault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.PALETTE__DEFAULT:
+ setDefault((AbstractTool) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.PALETTE__DEFAULT:
+ setDefault((AbstractTool) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.PALETTE__DEFAULT:
+ return default_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PaletteImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteSeparatorImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteSeparatorImpl.java
new file mode 100644
index 000000000..f8d2b2ded
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PaletteSeparatorImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.PaletteSeparator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Palette Separator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PaletteSeparatorImpl extends AbstractToolImpl implements PaletteSeparator {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PaletteSeparatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getPaletteSeparator();
+ }
+
+} //PaletteSeparatorImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PopupMenuImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PopupMenuImpl.java
new file mode 100644
index 000000000..4f49f0d2b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PopupMenuImpl.java
@@ -0,0 +1,350 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.ContributionItem;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Image;
+import org.eclipse.gmf.tooldef.ItemBase;
+import org.eclipse.gmf.tooldef.PopupMenu;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Popup Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.PopupMenuImpl#getIcon <em>Icon</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.PopupMenuImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.PopupMenuImpl#getID <em>ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PopupMenuImpl extends MenuImpl implements PopupMenu {
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected Image icon = null;
+
+ /**
+ * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected String title = TITLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getID() <em>ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getID()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getID() <em>ID</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getID()
+ * @generated
+ * @ordered
+ */
+ protected String iD = ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PopupMenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getPopupMenu();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIcon(Image newIcon, NotificationChain msgs) {
+ Image oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFToolPackage.POPUP_MENU__ICON, oldIcon, newIcon);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIcon(Image newIcon) {
+ if (newIcon != icon) {
+ NotificationChain msgs = null;
+ if (icon != null)
+ msgs = ((InternalEObject) icon).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.POPUP_MENU__ICON, null, msgs);
+ if (newIcon != null)
+ msgs = ((InternalEObject) newIcon).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.POPUP_MENU__ICON, null, msgs);
+ msgs = basicSetIcon(newIcon, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.POPUP_MENU__ICON, newIcon, newIcon));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTitle(String newTitle) {
+ String oldTitle = title;
+ title = newTitle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.POPUP_MENU__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getID() {
+ return iD;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setID(String newID) {
+ String oldID = iD;
+ iD = newID;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.POPUP_MENU__ID, oldID, iD));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFToolPackage.POPUP_MENU__ICON:
+ return basicSetIcon(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.POPUP_MENU__ICON:
+ return getIcon();
+ case GMFToolPackage.POPUP_MENU__TITLE:
+ return getTitle();
+ case GMFToolPackage.POPUP_MENU__ID:
+ return getID();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.POPUP_MENU__ICON:
+ setIcon((Image) newValue);
+ return;
+ case GMFToolPackage.POPUP_MENU__TITLE:
+ setTitle((String) newValue);
+ return;
+ case GMFToolPackage.POPUP_MENU__ID:
+ setID((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.POPUP_MENU__ICON:
+ setIcon((Image) null);
+ return;
+ case GMFToolPackage.POPUP_MENU__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case GMFToolPackage.POPUP_MENU__ID:
+ setID(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.POPUP_MENU__ICON:
+ return icon != null;
+ case GMFToolPackage.POPUP_MENU__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case GMFToolPackage.POPUP_MENU__ID:
+ return ID_EDEFAULT == null ? iD != null : !ID_EDEFAULT.equals(iD);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == ItemBase.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ContributionItem.class) {
+ switch (derivedFeatureID) {
+ case GMFToolPackage.POPUP_MENU__ICON:
+ return GMFToolPackage.CONTRIBUTION_ITEM__ICON;
+ case GMFToolPackage.POPUP_MENU__TITLE:
+ return GMFToolPackage.CONTRIBUTION_ITEM__TITLE;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == ItemBase.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == ContributionItem.class) {
+ switch (baseFeatureID) {
+ case GMFToolPackage.CONTRIBUTION_ITEM__ICON:
+ return GMFToolPackage.POPUP_MENU__ICON;
+ case GMFToolPackage.CONTRIBUTION_ITEM__TITLE:
+ return GMFToolPackage.POPUP_MENU__TITLE;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", iD: ");
+ result.append(iD);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PopupMenuImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedItemImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedItemImpl.java
new file mode 100644
index 000000000..4db979951
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedItemImpl.java
@@ -0,0 +1,162 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.PredefinedItem;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Predefined Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.PredefinedItemImpl#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PredefinedItemImpl extends EObjectImpl implements PredefinedItem {
+ /**
+ * The default value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected static final String IDENTIFIER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected String identifier = IDENTIFIER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PredefinedItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getPredefinedItem();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIdentifier(String newIdentifier) {
+ String oldIdentifier = identifier;
+ identifier = newIdentifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER, oldIdentifier, identifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER:
+ return getIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER:
+ setIdentifier((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER:
+ setIdentifier(IDENTIFIER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER:
+ return IDENTIFIER_EDEFAULT == null ? identifier != null : !IDENTIFIER_EDEFAULT.equals(identifier);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (identifier: ");
+ result.append(identifier);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PredefinedItemImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedMenuImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedMenuImpl.java
new file mode 100644
index 000000000..05558d71b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/PredefinedMenuImpl.java
@@ -0,0 +1,209 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.ItemBase;
+import org.eclipse.gmf.tooldef.PredefinedItem;
+import org.eclipse.gmf.tooldef.PredefinedMenu;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Predefined Menu</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.PredefinedMenuImpl#getIdentifier <em>Identifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PredefinedMenuImpl extends MenuImpl implements PredefinedMenu {
+ /**
+ * The default value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected static final String IDENTIFIER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIdentifier() <em>Identifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifier()
+ * @generated
+ * @ordered
+ */
+ protected String identifier = IDENTIFIER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PredefinedMenuImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getPredefinedMenu();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIdentifier(String newIdentifier) {
+ String oldIdentifier = identifier;
+ identifier = newIdentifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.PREDEFINED_MENU__IDENTIFIER, oldIdentifier, identifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_MENU__IDENTIFIER:
+ return getIdentifier();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_MENU__IDENTIFIER:
+ setIdentifier((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_MENU__IDENTIFIER:
+ setIdentifier(IDENTIFIER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.PREDEFINED_MENU__IDENTIFIER:
+ return IDENTIFIER_EDEFAULT == null ? identifier != null : !IDENTIFIER_EDEFAULT.equals(identifier);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == ItemBase.class) {
+ switch (derivedFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == PredefinedItem.class) {
+ switch (derivedFeatureID) {
+ case GMFToolPackage.PREDEFINED_MENU__IDENTIFIER:
+ return GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == ItemBase.class) {
+ switch (baseFeatureID) {
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == PredefinedItem.class) {
+ switch (baseFeatureID) {
+ case GMFToolPackage.PREDEFINED_ITEM__IDENTIFIER:
+ return GMFToolPackage.PREDEFINED_MENU__IDENTIFIER;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (identifier: ");
+ result.append(identifier);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PredefinedMenuImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/SeparatorImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/SeparatorImpl.java
new file mode 100644
index 000000000..4619931e3
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/SeparatorImpl.java
@@ -0,0 +1,162 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Separator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Separator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.SeparatorImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SeparatorImpl extends EObjectImpl implements Separator {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SeparatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getSeparator();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.SEPARATOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.SEPARATOR__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.SEPARATOR__NAME:
+ setName((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.SEPARATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.SEPARATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SeparatorImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/StandardToolImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/StandardToolImpl.java
new file mode 100644
index 000000000..9b18d9578
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/StandardToolImpl.java
@@ -0,0 +1,162 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.StandardTool;
+import org.eclipse.gmf.tooldef.StandardToolKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Standard Tool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.StandardToolImpl#getToolKind <em>Tool Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StandardToolImpl extends AbstractToolImpl implements StandardTool {
+ /**
+ * The default value of the '{@link #getToolKind() <em>Tool Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToolKind()
+ * @generated
+ * @ordered
+ */
+ protected static final StandardToolKind TOOL_KIND_EDEFAULT = StandardToolKind.SELECT_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getToolKind() <em>Tool Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToolKind()
+ * @generated
+ * @ordered
+ */
+ protected StandardToolKind toolKind = TOOL_KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StandardToolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getStandardTool();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardToolKind getToolKind() {
+ return toolKind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setToolKind(StandardToolKind newToolKind) {
+ StandardToolKind oldToolKind = toolKind;
+ toolKind = newToolKind == null ? TOOL_KIND_EDEFAULT : newToolKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.STANDARD_TOOL__TOOL_KIND, oldToolKind, toolKind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.STANDARD_TOOL__TOOL_KIND:
+ return getToolKind();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.STANDARD_TOOL__TOOL_KIND:
+ setToolKind((StandardToolKind) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.STANDARD_TOOL__TOOL_KIND:
+ setToolKind(TOOL_KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.STANDARD_TOOL__TOOL_KIND:
+ return toolKind != TOOL_KIND_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (toolKind: ");
+ result.append(toolKind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StandardToolImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolContainerImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolContainerImpl.java
new file mode 100644
index 000000000..e59b3caec
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolContainerImpl.java
@@ -0,0 +1,147 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.tooldef.AbstractTool;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.ToolContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tool Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ToolContainerImpl#getTools <em>Tools</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ToolContainerImpl extends AbstractToolImpl implements ToolContainer {
+ /**
+ * The cached value of the '{@link #getTools() <em>Tools</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTools()
+ * @generated
+ * @ordered
+ */
+ protected EList tools = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ToolContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getToolContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getTools() {
+ if (tools == null) {
+ tools = new EObjectContainmentEList(AbstractTool.class, this, GMFToolPackage.TOOL_CONTAINER__TOOLS);
+ }
+ return tools;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_CONTAINER__TOOLS:
+ return ((InternalEList) getTools()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_CONTAINER__TOOLS:
+ return getTools();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_CONTAINER__TOOLS:
+ getTools().clear();
+ getTools().addAll((Collection) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_CONTAINER__TOOLS:
+ getTools().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_CONTAINER__TOOLS:
+ return tools != null && !tools.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ToolContainerImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolGroupImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolGroupImpl.java
new file mode 100644
index 000000000..243c1bad2
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolGroupImpl.java
@@ -0,0 +1,224 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.gmf.tooldef.AbstractTool;
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.ToolGroup;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tool Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ToolGroupImpl#isCollapsible <em>Collapsible</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ToolGroupImpl#getActive <em>Active</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ToolGroupImpl extends ToolContainerImpl implements ToolGroup {
+ /**
+ * The default value of the '{@link #isCollapsible() <em>Collapsible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollapsible()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean COLLAPSIBLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCollapsible() <em>Collapsible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollapsible()
+ * @generated
+ * @ordered
+ */
+ protected boolean collapsible = COLLAPSIBLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getActive() <em>Active</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActive()
+ * @generated
+ * @ordered
+ */
+ protected AbstractTool active = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ToolGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getToolGroup();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollapsible() {
+ return collapsible;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollapsible(boolean newCollapsible) {
+ boolean oldCollapsible = collapsible;
+ collapsible = newCollapsible;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.TOOL_GROUP__COLLAPSIBLE, oldCollapsible, collapsible));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractTool getActive() {
+ if (active != null && active.eIsProxy()) {
+ InternalEObject oldActive = (InternalEObject) active;
+ active = (AbstractTool) eResolveProxy(oldActive);
+ if (active != oldActive) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GMFToolPackage.TOOL_GROUP__ACTIVE, oldActive, active));
+ }
+ }
+ return active;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractTool basicGetActive() {
+ return active;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActive(AbstractTool newActive) {
+ AbstractTool oldActive = active;
+ active = newActive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.TOOL_GROUP__ACTIVE, oldActive, active));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_GROUP__COLLAPSIBLE:
+ return isCollapsible() ? Boolean.TRUE : Boolean.FALSE;
+ case GMFToolPackage.TOOL_GROUP__ACTIVE:
+ if (resolve)
+ return getActive();
+ return basicGetActive();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_GROUP__COLLAPSIBLE:
+ setCollapsible(((Boolean) newValue).booleanValue());
+ return;
+ case GMFToolPackage.TOOL_GROUP__ACTIVE:
+ setActive((AbstractTool) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_GROUP__COLLAPSIBLE:
+ setCollapsible(COLLAPSIBLE_EDEFAULT);
+ return;
+ case GMFToolPackage.TOOL_GROUP__ACTIVE:
+ setActive((AbstractTool) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_GROUP__COLLAPSIBLE:
+ return collapsible != COLLAPSIBLE_EDEFAULT;
+ case GMFToolPackage.TOOL_GROUP__ACTIVE:
+ return active != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (collapsible: ");
+ result.append(collapsible);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ToolGroupImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolRegistryImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolRegistryImpl.java
new file mode 100644
index 000000000..b878c1db8
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolRegistryImpl.java
@@ -0,0 +1,258 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Menu;
+import org.eclipse.gmf.tooldef.MenuAction;
+import org.eclipse.gmf.tooldef.Palette;
+import org.eclipse.gmf.tooldef.ToolRegistry;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tool Registry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ToolRegistryImpl#getSharedActions <em>Shared Actions</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ToolRegistryImpl#getAllMenus <em>All Menus</em>}</li>
+ * <li>{@link org.eclipse.gmf.tooldef.impl.ToolRegistryImpl#getPalette <em>Palette</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ToolRegistryImpl extends EObjectImpl implements ToolRegistry {
+ /**
+ * The cached value of the '{@link #getSharedActions() <em>Shared Actions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSharedActions()
+ * @generated
+ * @ordered
+ */
+ protected EList sharedActions = null;
+
+ /**
+ * The cached value of the '{@link #getAllMenus() <em>All Menus</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllMenus()
+ * @generated
+ * @ordered
+ */
+ protected EList allMenus = null;
+
+ /**
+ * The cached value of the '{@link #getPalette() <em>Palette</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPalette()
+ * @generated
+ * @ordered
+ */
+ protected Palette palette = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ToolRegistryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getToolRegistry();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getSharedActions() {
+ if (sharedActions == null) {
+ sharedActions = new EObjectContainmentEList(MenuAction.class, this, GMFToolPackage.TOOL_REGISTRY__SHARED_ACTIONS);
+ }
+ return sharedActions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getAllMenus() {
+ if (allMenus == null) {
+ allMenus = new EObjectContainmentEList(Menu.class, this, GMFToolPackage.TOOL_REGISTRY__ALL_MENUS);
+ }
+ return allMenus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Palette getPalette() {
+ return palette;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPalette(Palette newPalette, NotificationChain msgs) {
+ Palette oldPalette = palette;
+ palette = newPalette;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFToolPackage.TOOL_REGISTRY__PALETTE, oldPalette, newPalette);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPalette(Palette newPalette) {
+ if (newPalette != palette) {
+ NotificationChain msgs = null;
+ if (palette != null)
+ msgs = ((InternalEObject) palette).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.TOOL_REGISTRY__PALETTE, null, msgs);
+ if (newPalette != null)
+ msgs = ((InternalEObject) newPalette).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFToolPackage.TOOL_REGISTRY__PALETTE, null, msgs);
+ msgs = basicSetPalette(newPalette, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFToolPackage.TOOL_REGISTRY__PALETTE, newPalette, newPalette));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_REGISTRY__SHARED_ACTIONS:
+ return ((InternalEList) getSharedActions()).basicRemove(otherEnd, msgs);
+ case GMFToolPackage.TOOL_REGISTRY__ALL_MENUS:
+ return ((InternalEList) getAllMenus()).basicRemove(otherEnd, msgs);
+ case GMFToolPackage.TOOL_REGISTRY__PALETTE:
+ return basicSetPalette(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_REGISTRY__SHARED_ACTIONS:
+ return getSharedActions();
+ case GMFToolPackage.TOOL_REGISTRY__ALL_MENUS:
+ return getAllMenus();
+ case GMFToolPackage.TOOL_REGISTRY__PALETTE:
+ return getPalette();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_REGISTRY__SHARED_ACTIONS:
+ getSharedActions().clear();
+ getSharedActions().addAll((Collection) newValue);
+ return;
+ case GMFToolPackage.TOOL_REGISTRY__ALL_MENUS:
+ getAllMenus().clear();
+ getAllMenus().addAll((Collection) newValue);
+ return;
+ case GMFToolPackage.TOOL_REGISTRY__PALETTE:
+ setPalette((Palette) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_REGISTRY__SHARED_ACTIONS:
+ getSharedActions().clear();
+ return;
+ case GMFToolPackage.TOOL_REGISTRY__ALL_MENUS:
+ getAllMenus().clear();
+ return;
+ case GMFToolPackage.TOOL_REGISTRY__PALETTE:
+ setPalette((Palette) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFToolPackage.TOOL_REGISTRY__SHARED_ACTIONS:
+ return sharedActions != null && !sharedActions.isEmpty();
+ case GMFToolPackage.TOOL_REGISTRY__ALL_MENUS:
+ return allMenus != null && !allMenus.isEmpty();
+ case GMFToolPackage.TOOL_REGISTRY__PALETTE:
+ return palette != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ToolRegistryImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolbarImpl.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolbarImpl.java
new file mode 100644
index 000000000..8798732d2
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/impl/ToolbarImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.gmf.tooldef.GMFToolPackage;
+import org.eclipse.gmf.tooldef.Toolbar;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Toolbar</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ToolbarImpl extends MenuImpl implements Toolbar {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ToolbarImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFToolPackage.eINSTANCE.getToolbar();
+ }
+
+} //ToolbarImpl
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolAdapterFactory.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolAdapterFactory.java
new file mode 100644
index 000000000..b02edc192
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolAdapterFactory.java
@@ -0,0 +1,569 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.tooldef.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage
+ * @generated
+ */
+public class GMFToolAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static GMFToolPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GMFToolAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = GMFToolPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch the delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GMFToolSwitch modelSwitch = new GMFToolSwitch() {
+ public Object caseToolRegistry(ToolRegistry object) {
+ return createToolRegistryAdapter();
+ }
+
+ public Object caseAbstractTool(AbstractTool object) {
+ return createAbstractToolAdapter();
+ }
+
+ public Object caseToolContainer(ToolContainer object) {
+ return createToolContainerAdapter();
+ }
+
+ public Object casePaletteSeparator(PaletteSeparator object) {
+ return createPaletteSeparatorAdapter();
+ }
+
+ public Object caseToolGroup(ToolGroup object) {
+ return createToolGroupAdapter();
+ }
+
+ public Object casePalette(Palette object) {
+ return createPaletteAdapter();
+ }
+
+ public Object caseStandardTool(StandardTool object) {
+ return createStandardToolAdapter();
+ }
+
+ public Object caseCreationTool(CreationTool object) {
+ return createCreationToolAdapter();
+ }
+
+ public Object caseGenericTool(GenericTool object) {
+ return createGenericToolAdapter();
+ }
+
+ public Object caseItemBase(ItemBase object) {
+ return createItemBaseAdapter();
+ }
+
+ public Object caseMenu(Menu object) {
+ return createMenuAdapter();
+ }
+
+ public Object caseSeparator(Separator object) {
+ return createSeparatorAdapter();
+ }
+
+ public Object casePredefinedItem(PredefinedItem object) {
+ return createPredefinedItemAdapter();
+ }
+
+ public Object casePredefinedMenu(PredefinedMenu object) {
+ return createPredefinedMenuAdapter();
+ }
+
+ public Object caseContributionItem(ContributionItem object) {
+ return createContributionItemAdapter();
+ }
+
+ public Object caseMenuAction(MenuAction object) {
+ return createMenuActionAdapter();
+ }
+
+ public Object caseItemRef(ItemRef object) {
+ return createItemRefAdapter();
+ }
+
+ public Object caseContextMenu(ContextMenu object) {
+ return createContextMenuAdapter();
+ }
+
+ public Object casePopupMenu(PopupMenu object) {
+ return createPopupMenuAdapter();
+ }
+
+ public Object caseMainMenu(MainMenu object) {
+ return createMainMenuAdapter();
+ }
+
+ public Object caseToolbar(Toolbar object) {
+ return createToolbarAdapter();
+ }
+
+ public Object caseImage(Image object) {
+ return createImageAdapter();
+ }
+
+ public Object caseDefaultImage(DefaultImage object) {
+ return createDefaultImageAdapter();
+ }
+
+ public Object caseBundleImage(BundleImage object) {
+ return createBundleImageAdapter();
+ }
+
+ public Object caseStyleSelector(StyleSelector object) {
+ return createStyleSelectorAdapter();
+ }
+
+ public Object caseGenericStyleSelector(GenericStyleSelector object) {
+ return createGenericStyleSelectorAdapter();
+ }
+
+ public Object defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ public Adapter createAdapter(Notifier target) {
+ return (Adapter) modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ToolRegistry <em>Tool Registry</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ToolRegistry
+ * @generated
+ */
+ public Adapter createToolRegistryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.AbstractTool <em>Abstract Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.AbstractTool
+ * @generated
+ */
+ public Adapter createAbstractToolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ToolContainer <em>Tool Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ToolContainer
+ * @generated
+ */
+ public Adapter createToolContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.PaletteSeparator <em>Palette Separator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.PaletteSeparator
+ * @generated
+ */
+ public Adapter createPaletteSeparatorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ToolGroup <em>Tool Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ToolGroup
+ * @generated
+ */
+ public Adapter createToolGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.Palette <em>Palette</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.Palette
+ * @generated
+ */
+ public Adapter createPaletteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.StandardTool <em>Standard Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.StandardTool
+ * @generated
+ */
+ public Adapter createStandardToolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.CreationTool <em>Creation Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.CreationTool
+ * @generated
+ */
+ public Adapter createCreationToolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.GenericTool <em>Generic Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.GenericTool
+ * @generated
+ */
+ public Adapter createGenericToolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ItemBase <em>Item Base</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ItemBase
+ * @generated
+ */
+ public Adapter createItemBaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.Menu <em>Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.Menu
+ * @generated
+ */
+ public Adapter createMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.Separator <em>Separator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.Separator
+ * @generated
+ */
+ public Adapter createSeparatorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.PredefinedItem <em>Predefined Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.PredefinedItem
+ * @generated
+ */
+ public Adapter createPredefinedItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.PredefinedMenu <em>Predefined Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.PredefinedMenu
+ * @generated
+ */
+ public Adapter createPredefinedMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ContributionItem <em>Contribution Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ContributionItem
+ * @generated
+ */
+ public Adapter createContributionItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.MenuAction <em>Menu Action</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.MenuAction
+ * @generated
+ */
+ public Adapter createMenuActionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ItemRef <em>Item Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ItemRef
+ * @generated
+ */
+ public Adapter createItemRefAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.ContextMenu <em>Context Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.ContextMenu
+ * @generated
+ */
+ public Adapter createContextMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.PopupMenu <em>Popup Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.PopupMenu
+ * @generated
+ */
+ public Adapter createPopupMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.MainMenu <em>Main Menu</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.MainMenu
+ * @generated
+ */
+ public Adapter createMainMenuAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.Toolbar <em>Toolbar</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.Toolbar
+ * @generated
+ */
+ public Adapter createToolbarAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.Image <em>Image</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.Image
+ * @generated
+ */
+ public Adapter createImageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.DefaultImage <em>Default Image</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.DefaultImage
+ * @generated
+ */
+ public Adapter createDefaultImageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.BundleImage <em>Bundle Image</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.BundleImage
+ * @generated
+ */
+ public Adapter createBundleImageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.StyleSelector <em>Style Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.StyleSelector
+ * @generated
+ */
+ public Adapter createStyleSelectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.tooldef.GenericStyleSelector <em>Generic Style Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.tooldef.GenericStyleSelector
+ * @generated
+ */
+ public Adapter createGenericStyleSelectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //GMFToolAdapterFactory
diff --git a/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolSwitch.java b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolSwitch.java
new file mode 100644
index 000000000..93f950a04
--- /dev/null
+++ b/plugins/org.eclipse.gmf.tooldef/src/org/eclipse/gmf/tooldef/util/GMFToolSwitch.java
@@ -0,0 +1,732 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.tooldef.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gmf.tooldef.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.tooldef.GMFToolPackage
+ * @generated
+ */
+public class GMFToolSwitch {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static GMFToolPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GMFToolSwitch() {
+ if (modelPackage == null) {
+ modelPackage = GMFToolPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public Object doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected Object doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch((EClass) eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected Object doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case GMFToolPackage.TOOL_REGISTRY: {
+ ToolRegistry toolRegistry = (ToolRegistry) theEObject;
+ Object result = caseToolRegistry(toolRegistry);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.ABSTRACT_TOOL: {
+ AbstractTool abstractTool = (AbstractTool) theEObject;
+ Object result = caseAbstractTool(abstractTool);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.TOOL_CONTAINER: {
+ ToolContainer toolContainer = (ToolContainer) theEObject;
+ Object result = caseToolContainer(toolContainer);
+ if (result == null)
+ result = caseAbstractTool(toolContainer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.PALETTE_SEPARATOR: {
+ PaletteSeparator paletteSeparator = (PaletteSeparator) theEObject;
+ Object result = casePaletteSeparator(paletteSeparator);
+ if (result == null)
+ result = caseAbstractTool(paletteSeparator);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.TOOL_GROUP: {
+ ToolGroup toolGroup = (ToolGroup) theEObject;
+ Object result = caseToolGroup(toolGroup);
+ if (result == null)
+ result = caseToolContainer(toolGroup);
+ if (result == null)
+ result = caseAbstractTool(toolGroup);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.PALETTE: {
+ Palette palette = (Palette) theEObject;
+ Object result = casePalette(palette);
+ if (result == null)
+ result = caseToolContainer(palette);
+ if (result == null)
+ result = caseAbstractTool(palette);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.STANDARD_TOOL: {
+ StandardTool standardTool = (StandardTool) theEObject;
+ Object result = caseStandardTool(standardTool);
+ if (result == null)
+ result = caseAbstractTool(standardTool);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.CREATION_TOOL: {
+ CreationTool creationTool = (CreationTool) theEObject;
+ Object result = caseCreationTool(creationTool);
+ if (result == null)
+ result = caseAbstractTool(creationTool);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.GENERIC_TOOL: {
+ GenericTool genericTool = (GenericTool) theEObject;
+ Object result = caseGenericTool(genericTool);
+ if (result == null)
+ result = caseAbstractTool(genericTool);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.ITEM_BASE: {
+ ItemBase itemBase = (ItemBase) theEObject;
+ Object result = caseItemBase(itemBase);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.MENU: {
+ Menu menu = (Menu) theEObject;
+ Object result = caseMenu(menu);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.SEPARATOR: {
+ Separator separator = (Separator) theEObject;
+ Object result = caseSeparator(separator);
+ if (result == null)
+ result = caseItemBase(separator);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.PREDEFINED_ITEM: {
+ PredefinedItem predefinedItem = (PredefinedItem) theEObject;
+ Object result = casePredefinedItem(predefinedItem);
+ if (result == null)
+ result = caseItemBase(predefinedItem);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.PREDEFINED_MENU: {
+ PredefinedMenu predefinedMenu = (PredefinedMenu) theEObject;
+ Object result = casePredefinedMenu(predefinedMenu);
+ if (result == null)
+ result = caseMenu(predefinedMenu);
+ if (result == null)
+ result = casePredefinedItem(predefinedMenu);
+ if (result == null)
+ result = caseItemBase(predefinedMenu);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.CONTRIBUTION_ITEM: {
+ ContributionItem contributionItem = (ContributionItem) theEObject;
+ Object result = caseContributionItem(contributionItem);
+ if (result == null)
+ result = caseItemBase(contributionItem);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.MENU_ACTION: {
+ MenuAction menuAction = (MenuAction) theEObject;
+ Object result = caseMenuAction(menuAction);
+ if (result == null)
+ result = caseContributionItem(menuAction);
+ if (result == null)
+ result = caseItemBase(menuAction);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.ITEM_REF: {
+ ItemRef itemRef = (ItemRef) theEObject;
+ Object result = caseItemRef(itemRef);
+ if (result == null)
+ result = caseItemBase(itemRef);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.CONTEXT_MENU: {
+ ContextMenu contextMenu = (ContextMenu) theEObject;
+ Object result = caseContextMenu(contextMenu);
+ if (result == null)
+ result = caseMenu(contextMenu);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.POPUP_MENU: {
+ PopupMenu popupMenu = (PopupMenu) theEObject;
+ Object result = casePopupMenu(popupMenu);
+ if (result == null)
+ result = caseMenu(popupMenu);
+ if (result == null)
+ result = caseContributionItem(popupMenu);
+ if (result == null)
+ result = caseItemBase(popupMenu);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.MAIN_MENU: {
+ MainMenu mainMenu = (MainMenu) theEObject;
+ Object result = caseMainMenu(mainMenu);
+ if (result == null)
+ result = caseMenu(mainMenu);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.TOOLBAR: {
+ Toolbar toolbar = (Toolbar) theEObject;
+ Object result = caseToolbar(toolbar);
+ if (result == null)
+ result = caseMenu(toolbar);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.IMAGE: {
+ Image image = (Image) theEObject;
+ Object result = caseImage(image);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.DEFAULT_IMAGE: {
+ DefaultImage defaultImage = (DefaultImage) theEObject;
+ Object result = caseDefaultImage(defaultImage);
+ if (result == null)
+ result = caseImage(defaultImage);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.BUNDLE_IMAGE: {
+ BundleImage bundleImage = (BundleImage) theEObject;
+ Object result = caseBundleImage(bundleImage);
+ if (result == null)
+ result = caseImage(bundleImage);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.STYLE_SELECTOR: {
+ StyleSelector styleSelector = (StyleSelector) theEObject;
+ Object result = caseStyleSelector(styleSelector);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFToolPackage.GENERIC_STYLE_SELECTOR: {
+ GenericStyleSelector genericStyleSelector = (GenericStyleSelector) theEObject;
+ Object result = caseGenericStyleSelector(genericStyleSelector);
+ if (result == null)
+ result = caseStyleSelector(genericStyleSelector);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Tool Registry</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Tool Registry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseToolRegistry(ToolRegistry object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Abstract Tool</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Abstract Tool</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseAbstractTool(AbstractTool object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Tool Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Tool Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseToolContainer(ToolContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Palette Separator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Palette Separator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object casePaletteSeparator(PaletteSeparator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Tool Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Tool Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseToolGroup(ToolGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Palette</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Palette</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object casePalette(Palette object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Standard Tool</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Standard Tool</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseStandardTool(StandardTool object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Creation Tool</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Creation Tool</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseCreationTool(CreationTool object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Generic Tool</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Generic Tool</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseGenericTool(GenericTool object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Item Base</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Item Base</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseItemBase(ItemBase object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Menu</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseMenu(Menu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Separator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Separator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseSeparator(Separator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Predefined Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Predefined Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object casePredefinedItem(PredefinedItem object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Predefined Menu</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Predefined Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object casePredefinedMenu(PredefinedMenu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Contribution Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Contribution Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseContributionItem(ContributionItem object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Menu Action</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Menu Action</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseMenuAction(MenuAction object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Item Ref</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Item Ref</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseItemRef(ItemRef object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Context Menu</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Context Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseContextMenu(ContextMenu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Popup Menu</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Popup Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object casePopupMenu(PopupMenu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Main Menu</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Main Menu</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseMainMenu(MainMenu object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Toolbar</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Toolbar</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseToolbar(Toolbar object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Image</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseImage(Image object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Default Image</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Default Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseDefaultImage(DefaultImage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Bundle Image</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Bundle Image</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseBundleImage(BundleImage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Style Selector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Style Selector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseStyleSelector(StyleSelector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Generic Style Selector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Generic Style Selector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseGenericStyleSelector(GenericStyleSelector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public Object defaultCase(EObject object) {
+ return null;
+ }
+
+} //GMFToolSwitch

Back to the top