Skip to main content



      Home
Home » Modeling » GMF (Graphical Modeling Framework) » Missing methods in a generated Class
Missing methods in a generated Class [message #51196] Tue, 19 September 2006 10:44 Go to next message
Eclipse UserFriend
Originally posted by: dont.spam.net

This is a multi-part message in MIME format.
--------------050603090708080904090704
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I have attached all models from my project to this posting.
The code generation works fine. I can generate the following projects:
com.eads.statemachine
com.eads.statemachine.edit
com.eads.statemachine.editor
com.eads.statemachine.tests
com.eads.statemachine.diagram

But the .diagram Project makes me not happy. When I try to build the
whole stuff, Eclipse points me to two Files in the
statemachine2.diagram.edit.parts package where something is missing. The
files are:
CompositeState2EditPart.java
CompositeStateEditPart.java
Both files have a inner Class "CompositeStateFigure". They try to call
the function .getFigureStateNameLabel() on instance of this class.
But the "CompositeStateFigure" Class doesn't have such a function.

Is it a Problem with my model? Or did I something wrong with the code
generation?


Regards,
Christian

--------------050603090708080904090704
Content-Type: text/xml;
name="statemachine2.ecore"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="statemachine2.ecore"

<?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="statemachine2"
nsURI="http://openarchitectureware.org/statemachine2" nsPrefix="statemachine2">
<eClassifiers xsi:type="ecore:EClass" name="Named" abstract="true">
<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="Machine" eSuperTypes="#//CompositeState #//Named"/>
<eClassifiers xsi:type="ecore:EClass" name="CompositeState" eSuperTypes="#//State">
<eStructuralFeatures xsi:type="ecore:EReference" name="states" lowerBound="1"
upperBound="-1" eType="#//AbstractState" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
eType="#//Transition" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractState" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions" upperBound="-1"
eType="#//Transition" eOpposite="#//Transition/to"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions" upperBound="-1"
eType="#//Transition" eOpposite="#//Transition/from"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="actions" upperBound="-1"
eType="#//Action" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//AbstractState #//Named"/>
<eClassifiers xsi:type="ecore:EClass" name="StartState" eSuperTypes="#//AbstractState"/>
<eClassifiers xsi:type="ecore:EClass" name="StopState" eSuperTypes="#//AbstractState #//Named"/>
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Named">
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//AbstractState"
eOpposite="#//AbstractState/outTransitions"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//AbstractState"
eOpposite="#//AbstractState/inTransitions"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="event" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="guard" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Action" eSuperTypes="#//Named">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//ActionKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ActionKind">
<eLiterals name="ENTRY" value="1"/>
<eLiterals name="EXIT" value="2"/>
</eClassifiers>
</ecore:EPackage>

--------------050603090708080904090704
Content-Type: text/xml;
name="statemachine2.genmodel"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="statemachine2.genmodel"

<?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="/com.eads.statemachine/src"
modelPluginID="com.eads.statemachine" modelName="Statemachine2" importerID="org.eclipse.emf.importer.ecore">
<foreignModel>statemachine2.ecore</foreignModel>
<genPackages prefix="Statemachine2" disposableProviderFactory="true" ecorePackage="statemachine2.ecore#/">
<genEnums ecoreEnum="statemachine2.ecore#//ActionKind">
<genEnumLiterals ecoreEnumLiteral="statemachine2.ecore#//ActionKind/ENTRY"/ >
<genEnumLiterals ecoreEnumLiteral="statemachine2.ecore#//ActionKind/EXIT"/>
</genEnums>
<genClasses image="false" ecoreClass="statemachine2.ecore#//Named">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine2.ecore#//Named/name"/>
</genClasses>
<genClasses ecoreClass="statemachine2.ecore#//Machine"/>
<genClasses ecoreClass="statemachine2.ecore#//CompositeState">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine2.ecore#//CompositeState/states"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine2.ecore#//CompositeState/transitions"/>
</genClasses>
<genClasses image="false" ecoreClass="statemachine2.ecore#//AbstractState">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference statemachine2.ecore#//AbstractState/inTransitions"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference statemachine2.ecore#//AbstractState/outTransitions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference statemachine2.ecore#//AbstractState/actions"/>
</genClasses>
<genClasses ecoreClass="statemachine2.ecore#//State"/>
<genClasses ecoreClass="statemachine2.ecore#//StartState"/>
<genClasses ecoreClass="statemachine2.ecore#//StopState"/>
<genClasses ecoreClass="statemachine2.ecore#//Transition">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference statemachine2.ecore#//Transition/from"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference statemachine2.ecore#//Transition/to"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine2.ecore#//Transition/event"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine2.ecore#//Transition/guard"/>
</genClasses>
<genClasses ecoreClass="statemachine2.ecore#//Action">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute statemachine2.ecore#//Action/kind"/>
</genClasses>
</genPackages>
</genmodel:GenModel>

--------------050603090708080904090704
Content-Type: text/xml;
name="statemachine2.gmfgraph"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="statemachine2.gmfgraph"

<?xml version="1.0" encoding="UTF-8"?>
<gmfgraph:Canvas xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gmfgraph="http://www.eclipse.org/gmf/2005/GraphicalDefinition" name="statemachine2">
<figures
name="Default">
<figures
xsi:type="gmfgraph:Rectangle"
referencingElements="State ActionCompartment"
name="StateFigure">
<children
xsi:type="gmfgraph:Label"
referencingElements="StateNameDiagramLabel"
name="StateNameLabel"
text="&lt;...>"/>
<backgroundColor
xsi:type="gmfgraph:ConstantColor"
value="lightGray"/>
</figures>
<figures
xsi:type="gmfgraph:PolylineConnection"
referencingElements="Transition"
name="TransitionFigure">
<children
xsi:type="gmfgraph:Label"
referencingElements="TransitionDiagramLabel"
name="TransitionLabel"
text="&lt;...>"/>
<children
xsi:type="gmfgraph:PolylineDecoration"
name="RE">
<backgroundColor
xsi:type="gmfgraph:RGBColor"
green="128"/>
<location/>
<size
y="1"/>
<template
x="-1"
y="1"/>
<template
x="-1"
y="-1"/>
<template
y="-1"/>
<template/>
</children>
<backgroundColor
xsi:type="gmfgraph:ConstantColor"
value="darkGray"/>
</figures>
<figures
xsi:type="gmfgraph:Ellipse"
name="StopStateEllipse"
lineWidth="2">
<children
xsi:type="gmfgraph:Ellipse"
name="StopStateFigure"
lineWidth="2">
<backgroundColor
xsi:type="gmfgraph:RGBColor"/>
</children>
<backgroundColor
xsi:type="gmfgraph:RGBColor"/>
</figures>
<figures
xsi:type="gmfgraph:Rectangle"
referencingElements="CompositeState SubStateCompartment"
name="CompositeStateFigure">
<children
xsi:type="gmfgraph:Label"
name="CompositeNameLabel"
text="&lt;Huzifaki>">
<backgroundColor
xsi:type="gmfgraph:ConstantColor"
value="black"/>
</children>
<backgroundColor
xsi:type="gmfgraph:ConstantColor"
value="lightGray"/>
</figures>
<figures
xsi:type="gmfgraph:Rectangle"
referencingElements="Action"
name="ActionFigure">
<children
xsi:type="gmfgraph:Label"
referencingElements="ActionDiagramLabel"
name="ActionLabel"
text="&lt;...>"/>
</figures>
<figures
xsi:type="gmfgraph:Rectangle"
referencingElements="StartState"
name="StartStateRectangle">
<layout
xsi:type="gmfgraph:BorderLayout"/>
<children
xsi:type="gmfgraph:Ellipse"
name="StartStateEllipse"
lineWidth="2">
<layoutData
xsi:type="gmfgraph:BorderLayoutData"/>
<backgroundColor
xsi:type="gmfgraph:RGBColor"/>
</children>
<children
xsi:type="gmfgraph:Label"
name="StartStateNameLabel"
text="StartState">
<layoutData
xsi:type="gmfgraph:BorderLayoutData"
alignment="END"
vertical="true"/>
</children>
</figures>
<figures
xsi:type="gmfgraph:RoundedRectangle"
referencingElements="StopState"
name="StopStateRectangle">
<layout
xsi:type="gmfgraph:BorderLayout"/>
<children
xsi:type="gmfgraph:Label"
referencingElements="StopStateDiagramLabel"
name="StopStateNameLabel"
text="StopState">
<layoutData
xsi:type="gmfgraph:BorderLayoutData"
alignment="END"
vertical="true"/>
</children>
<children
xsi:type="gmfgraph:Ellipse"
name="outerEllipse">
<layoutData
xsi:type="gmfgraph:BorderLayoutData"/>
<layout
xsi:type="gmfgraph:BorderLayout"/>
<children
xsi:type="gmfgraph:Ellipse"
name="innerEllipse"
xorFill="true">
<layoutData
xsi:type="gmfgraph:BorderLayoutData"/>
<backgroundColor
xsi:type="gmfgraph:ConstantColor"
value="black"/>
</children>
<maximumSize
dx="80"
dy="80"/>
<minimumSize
dx="60"
dy="60"/>
<preferredSize
dx="60"
dy="60"/>
<border
xsi:type="gmfgraph:MarginBorder">
<insets
top="5"
left="5"
bottom="5"
right="5"/>
</border>
</children>
</figures>
</figures>
<nodes
name="State"
figure="StateFigure"/>
<nodes
name="StartState"
figure="StartStateRectangle"/>
<nodes
name="StopState"
figure="StopStateRectangle"/>
<nodes
name="CompositeState"
figure="CompositeStateFigure"/>
<nodes
name="Action"
figure="ActionFigure"/>
<connections
name="Transition"
figure="TransitionFigure"/>
<compartments
name="SubStateCompartment"
figure="CompositeStateFigure"/>
<compartments
name="ActionCompartment"
figure="StateFigure"/>
<labels
name="StateNameDiagramLabel"
figure="StateNameLabel"/>
<labels
name="TransitionDiagramLabel"
figure="TransitionLabel"/>
<labels
name="ActionDiagramLabel"
figure="ActionLabel"/>
<labels
name="StopStateDiagramLabel"
figure="StopStateNameLabel"/>
</gmfgraph:Canvas>

--------------050603090708080904090704
Content-Type: text/xml;
name="statemachine2.gmftool"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="statemachine2.gmftool"

<?xml version="1.0" encoding="UTF-8"?>
<gmftool:ToolRegistry xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition">
<palette>
<tools
xsi:type="gmftool:ToolGroup"
title="States">
<tools
xsi:type="gmftool:CreationTool"
title="State"
description="Create new State">
<smallIcon
xsi:type="gmftool:BundleImage"
path="platform:/plugin/com.eads.statemachine/icons/state.gif "/>
</tools>
<tools
xsi:type="gmftool:CreationTool"
title="StartState"
description="Create new StartState">
<smallIcon
xsi:type="gmftool:BundleImage"
path="platform:/plugin/com.eads.statemachine/icons/start.gif "/>
</tools>
<tools
xsi:type="gmftool:PaletteSeparator"/>
<tools
xsi:type="gmftool:CreationTool"
title="StopState"
description="Create new StopState">
<smallIcon
xsi:type="gmftool:BundleImage"
path="platform:/plugin/com.eads.statemachine/icons/stop.gif "/>
</tools>
<tools
xsi:type="gmftool:CreationTool"
title="CompositeState"
description="Create new CompositeState">
<smallIcon
xsi:type="gmftool:BundleImage"
path="platform:/plugin/com.eads.statemachine/icons/compstate.gif "/>
</tools>
</tools>
<tools
xsi:type="gmftool:CreationTool"
title="Transition"
description="Create new Transition">
<smallIcon
xsi:type="gmftool:BundleImage"
path="platform:/plugin/com.eads.statemachine/icons/transition.gif "/>
</tools>
<tools
xsi:type="gmftool:CreationTool"
title="Action"
description="Create new Action">
<smallIcon
xsi:type="gmftool:BundleImage"
path="platform:/plugin/com.eads.statemachine/icons/action.gif "/>
</tools>
</palette>
</gmftool:ToolRegistry>

--------------050603090708080904090704
Content-Type: text/xml;
name="statemachine2.gmfgen"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="statemachine2.gmfgen"

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<gmfgen:GenEditorGenerator xmi:version=3D"2.0"
xmlns:xmi=3D"http://www.omg.org/XMI"
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
xmlns:gmfgen=3D"http://www.eclipse.org/gmf/2005/GenModel">
<diagram
visualID=3D"1000"
editPartClassName=3D"MachineEditPart"
itemSemanticEditPolicyClassName=3D"MachineItemSemanticEditPolicy "
notationViewFactoryClassName=3D"MachineViewFactory"
iconProviderPriority=3D"Low"
canonicalEditPolicyClassName=3D"MachineCanonicalEditPolicy" >
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/notat=
ion.genmodel#//notation/Diagram"/>
<elementType
xsi:type=3D"gmfgen:MetamodelType"
editHelperClassName=3D"MachineEditHelper"/>
<viewmap
xsi:type=3D"gmfgen:FigureViewmap"
figureQualifiedClassName=3D"org.eclipse.draw2d.FreeformLayer "/>
<domainDiagramElement
href=3D"model/statemachine2.genmodel#//statemachine2/Machine "/>
<childNodes
visualID=3D"3001"
editPartClassName=3D"ActionEditPart"
itemSemanticEditPolicyClassName=3D"ActionItemSemanticEditPolicy "
notationViewFactoryClassName=3D"ActionViewFactory"
canonicalEditPolicyClassName=3D"ActionCanonicalEditPolicy"
graphicalNodeEditPolicyClassName=3D"ActionGraphicalNodeEditPolicy=
"
containers=3D"//@diagram/@compartments.0 //@diagram/@compartments=
=2E3">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/not=
ation.genmodel#//notation/Node"/>
<elementType
xsi:type=3D"gmfgen:MetamodelType"
editHelperClassName=3D"ActionEditHelper"/>
<viewmap
xsi:type=3D"gmfgen:InnerClassViewmap"
className=3D"ActionFigure"
classBody=3D"&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; * @generated&#xD=
;&#xA; */&#xD;&#xA;public class ActionFigure extends org.eclipse.draw2d.R=
ectangleFigure {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&=
#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public ActionFigure() {&#x9;&#xD;&#xA;&#x=
9;&#x9;&#xD;&#xA;&#xD;&#xA;&#x9;& ;#x9;&#xD;&#xA;&#x9;&#x9;createContents()=
;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& ;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x 9; * =
@generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void createContents(){=
&#xD;&#xA;&#x9;&#x9;org.eclipse.gmf.runtime. draw2d.ui.figures.WrapLabel f=
ig_0 =3D new org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&=
#xA;fig_0.setText(&quot;&lt;...> &quot;);&#xD;&#xA;&#xD;&#xA;&#xD;&am p;#xA;&#x=
D;&#xA;&#x9;&#x9;setFigureActionLabel(fig_0);&am p;#xD;&#xA;&#x9;&#x9;&#xD;&#x=
A;&#x9;&#x9;Object layData0 =3D null;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;t his.a=
dd(fig_0, layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#=
xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&=
#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fActionLa=
bel; &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#=
x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.Wra=
pLabel getFigureActionLabel() {&#xD;&#xA;&#x9;&#x9;return fActionLabel;&#=
xD;&#xA;&#x9;}&#xD;&#xA;&#x9;&#xD;&a mp;#xA;&#x9;/**&#xD;&#xA;&#x9; * @generat=
ed&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void setFigureActionLabel(org.=
eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fig){&#xD;&#xA;&#x9;&#x9;=
fActionLabel =3D fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&=
#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9 ; * @generated&#xD;&#xA;&#x9; */&#xD;=
&#xA;&#x9;private boolean myUseLocalCoordinates =3D false;&#xD;&#xA;&#xD;=
&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9=
;protected boolean useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return myUs=
eLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& #xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;&=
#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void setUseLo=
calCoordinates(boolean useLocalCoordinates) {&#xD;&#xA;&#x9;&#x9;myUseLoc=
alCoordinates =3D useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD=
;&#xA;&#xD;&#xA;}&#xD;&#xA;&#x9;& ;#xD;&#xA; ">
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPlu=
ginIDs>
</viewmap>
<modelFacet>
<metaClass
href=3D"model/statemachine2.genmodel#//statemachine2/Action "/=
>
<containmentMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Abstract=
State/actions"/>
<childMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Abstract=
State/actions"/>
</modelFacet>
<labels
visualID=3D"5001"
editPartClassName=3D"ActionKindNameEditPart"
itemSemanticEditPolicyClassName=3D"ActionKindNameItemSemanticEd=
itPolicy"
notationViewFactoryClassName=3D"ActionKindNameViewFactory"
elementIcon=3D"true">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/n=
otation.genmodel#//notation/Node"/>
<viewmap
xsi:type=3D"gmfgen:ParentAssignedViewmap"
getterName=3D"getFigureActionLabel"
figureQualifiedClassName=3D"org.eclipse.gmf.runtime.draw2d.ui=
=2Efigures.WrapLabel"/>
<modelFacet
xsi:type=3D"gmfgen:CompositeFeatureLabelModelFacet"
viewPattern=3D"{0}/{1}"
editPattern=3D"{0}/{1}">
<metaFeatures
href=3D"model/statemachine2.genmodel#//statemachine2/Action=
/kind"/>
<metaFeatures
href=3D"model/statemachine2.genmodel#//statemachine2/Named/=
name"/>
</modelFacet>
</labels>
</childNodes>
<childNodes
visualID=3D"3002"
editPartClassName=3D"State2EditPart"
itemSemanticEditPolicyClassName=3D"State2ItemSemanticEditPolicy "
notationViewFactoryClassName=3D"State2ViewFactory"
canonicalEditPolicyClassName=3D"State2CanonicalEditPolicy"
compartments=3D"//@diagram/@compartments.3"
graphicalNodeEditPolicyClassName=3D"State2GraphicalNodeEditPolicy=
"
containers=3D"//@diagram/@compartments.2 //@diagram/@compartments=
=2E5">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/not=
ation.genmodel#//notation/Node"/>
<elementType
xsi:type=3D"gmfgen:SpecializationType"
metamodelType=3D"//@diagram/@topLevelNodes.0/@elementType"
editHelperAdviceClassName=3D"StateEditHelperAdvice"/>
<viewmap
xsi:type=3D"gmfgen:InnerClassViewmap"
className=3D"StateFigure"
classBody=3D"&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; * @generated&#xD=
;&#xA; */&#xD;&#xA;public class StateFigure extends org.eclipse.draw2d.Re=
ctangleFigure {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#=
xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public StateFigure() {&#x9;&#xD;&#xA;&#x9;=
&#x9;&#xD;&#xA;&#xD;&#xA;&#x9;&# x9;&#xD;&#xA;&#x9;&#x9;this.setBackground=
Color(org.eclipse.draw2d.ColorConstants.lightGray&#xD;&a mp;#xA;&#xD;&#xA;);&#=
xD;&#xA;&#x9;&#x9;createContents();&#xD;& ;#xA;&#x9;}&#xD;&#xA;&#xD;&#xA;&#=
xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&=
#x9;private void createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.run=
time.draw2d.ui.figures.WrapLabel fig_0 =3D new org.eclipse.gmf.runtime.dr=
aw2d.ui.figures.WrapLabel();&#xD;&#xA;fig_0.setText( &quot;&lt;... >&quot;)=
;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& #xD;&#xA;&#x9;&#x9;setFigureStateNameLabe=
l(fig_0);&#xD;&#xA;&#x9;&#x9;&#xD;&# xA;&#x9;&#x9;Object layData0 =3D null=
;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;this. add(fig_0, layData0);&#xD;&#xA;&#x9;}=
&#xD;&#xA;&#x9;&#xD;&#xA;&#x9;&# x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @g=
enerated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private org.eclipse.gmf.runtime.=
draw2d.ui.figures.WrapLabel fStateNameLabel; &#xD;&#xA;&#xD;&#xA;&#x9;/**=
&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.e=
clipse.gmf.runtime.draw2d.ui.figures.WrapLabel getFigureStateNameLabel() =
{&#xD;&#xA;&#x9;&#x9;return fStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&#x A;&#x=
9;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#=
xA;&#x9;private void setFigureStateNameLabel(org.eclipse.gmf.runtime.draw=
2d.ui.figures.WrapLabel fig){&#xD;&#xA;&#x9;&#x9;fStateNameLabel =3D fig;=
&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& #xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#x9;/*=
*&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boo=
lean myUseLocalCoordinates =3D false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#x=
A;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean us=
eLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return myUseLocalCoordinates;&#x=
D;&#xA;&#x9;}&#xD;&#xA;&#xD;&#xA;&am p;#x9;/**&#xD;&#xA;&#x9; * @generated&#xD=
;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void setUseLocalCoordinates(boolea=
n useLocalCoordinates) {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =3D use=
LocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&# xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD=
;&#xA;&#x9;&#xD;&#xA;">
<attributes
xsi:type=3D"gmfgen:StyleAttributes"
fixedBackground=3D"true"/>
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPlu=
ginIDs>
</viewmap>
<modelFacet>
<metaClass
href=3D"model/statemachine2.genmodel#//statemachine2/State"/ >=

<containmentMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
<childMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
</modelFacet>
<labels
visualID=3D"5004"
editPartClassName=3D"StateName2EditPart"
itemSemanticEditPolicyClassName=3D"StateName2ItemSemanticEditPo=
licy"
notationViewFactoryClassName=3D"StateName2ViewFactory"
elementIcon=3D"true">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/n=
otation.genmodel#//notation/Node"/>
<viewmap
xsi:type=3D"gmfgen:ParentAssignedViewmap"
getterName=3D"getFigureStateNameLabel"
figureQualifiedClassName=3D"org.eclipse.gmf.runtime.draw2d.ui=
=2Efigures.WrapLabel"/>
<modelFacet
xsi:type=3D"gmfgen:FeatureLabelModelFacet">
<metaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Named/=
name"/>
</modelFacet>
</labels>
</childNodes>
<childNodes
visualID=3D"3003"
editPartClassName=3D"StartState2EditPart"
itemSemanticEditPolicyClassName=3D"StartState2ItemSemanticEditPol=
icy"
notationViewFactoryClassName=3D"StartState2ViewFactory"
canonicalEditPolicyClassName=3D"StartState2CanonicalEditPolicy "
graphicalNodeEditPolicyClassName=3D"StartState2GraphicalNodeEditP=
olicy"
containers=3D"//@diagram/@compartments.2 //@diagram/@compartments=
=2E5">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/not=
ation.genmodel#//notation/Node"/>
<elementType
xsi:type=3D"gmfgen:SpecializationType"
metamodelType=3D"//@diagram/@topLevelNodes.2/@elementType"
editHelperAdviceClassName=3D"StartStateEditHelperAdvice"/>
<viewmap
xsi:type=3D"gmfgen:InnerClassViewmap"
className=3D"StartStateRectangle"
classBody=3D"&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; * @generated&#xD=
;&#xA; */&#xD;&#xA;public class StartStateRectangle extends org.eclipse.d=
raw2d.RectangleFigure {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @gen=
erated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public StartStateRectangle() {&#x9=
;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& #x9;&#x9;org.eclipse.draw2d.BorderLayout =
myGenLayoutManager =3D new org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#=
x9;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;&am p;#x9;&#x9;this.setLayoutManager(myGenLay=
outManager);&#xD;&#xA;&#xD;&#xA;&#x9;&am p;#x9;&#xD;&#xA;&#x9;&#x9;createConte=
nts();&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD ;&#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;&a mp;#x=
9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void createConten=
ts(){&#xD;&#xA;&#x9;&#x9;org.eclipse.draw2d. Ellipse fig_0 =3D new org.ecl=
ipse.draw2d.Ellipse();&#xD;&#xA;&#xD;&#xA;&a mp;#x9;&#x9;fig_0.setLineWidth(2)=
;&#xD;&#xA;&#x9;&#x9;fig_0.setBackgroundColo r(STARTSTATEELLIPSE_BACK&#xD;=
&#xA;&#xD;&#xA;);&#xD;&#xA;&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;s etFig=
ureStartStateEllipse(fig_0);&#xD;&#xA;&#x9;& #x9;&#xD;&#xA;&#x9;Object lay=
Data0 =3D org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9=
;&#x9;&#x9;&#xD;&#xA;&#xD;&#xA;& #x9;&#x9;this.add(fig_0, layData0);&#xD;&=
#xA;&#x9;&#x9;org.eclipse.gmf.runtime.draw2d.ui.figu res.WrapLabel fig_1 =3D=
new org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_=
1.setText(&quot;StartState&quot;);&#xD;&#xA; &#xD;&#xA;&#xD;&#xA;&#xD;&#xA=
;&#x9;&#x9;setFigureStartStateNameLabel(fig_1);& #xD;&#xA;&#x9;&#x9;&#xD;&=
#xA;&#x9;Object layData1 =3D org.eclipse.draw2d.BorderLayout.BOTTOM;&#xD;=
&#xA;&#xD;&#xA;&#x9;&#x9;&#x9;&# xD;&#xA;&#xD;&#xA;&#x9;&#x9;this.add(fig _=
1, layData1);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA=
;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;pri=
vate org.eclipse.draw2d.Ellipse fStartStateEllipse; &#xD;&#xA;&#xD;&#xA;&=
#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;publi=
c org.eclipse.draw2d.Ellipse getFigureStartStateEllipse() {&#xD;&#xA;&#x9=
;&#x9;return fStartStateEllipse;&#xD;&#xA;&#x9;}&#xD;& ;#xA;&#x9;&#xD;&#xA;=
&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;priv=
ate void setFigureStartStateEllipse(org.eclipse.draw2d.Ellipse fig){&#xD;=
&#xA;&#x9;&#x9;fStartStateEllipse =3D fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;=
&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;/**&am p;#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#=
x9; */&#xD;&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.Wr=
apLabel fStartStateNameLabel; &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9;=
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gmf.runt=
ime.draw2d.ui.figures.WrapLabel getFigureStartStateNameLabel() {&#xD;&#xA=
;&#x9;&#x9;return fStartStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&a mp;#xA;&#x9;&#x=
D;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#=
x9;private void setFigureStartStateNameLabel(org.eclipse.gmf.runtime.draw=
2d.ui.figures.WrapLabel fig){&#xD;&#xA;&#x9;&#x9;fStartStateNameLabe l =3D=
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#=
x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;privat=
e boolean myUseLocalCoordinates =3D false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# x=
D;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boole=
an useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return myUseLocalCoordinate=
s;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;&am p;#xA;&#x9;/**&#xD;&#xA;&#x9; * @generate=
d&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void setUseLocalCoordinates(b=
oolean useLocalCoordinates) {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =3D=
useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}=
&#xD;&#xA;&#x9;&#xD;&#xA;&#x9;&# xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @genera=
ted&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public static final org.eclipse.swt.g=
raphics.Color STARTSTATEELLIPSE_BACK =3D new org.eclipse.swt.graphics.Col=
or(null, 0, 0, 0);&#xD;&#xA;">
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPlu=
ginIDs>
</viewmap>
<modelFacet>
<metaClass
href=3D"model/statemachine2.genmodel#//statemachine2/StartSta=
te"/>
<containmentMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
<childMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
</modelFacet>
</childNodes>
<childNodes
visualID=3D"3004"
editPartClassName=3D"StopState2EditPart"
itemSemanticEditPolicyClassName=3D"StopState2ItemSemanticEditPoli=
cy"
notationViewFactoryClassName=3D"StopState2ViewFactory"
canonicalEditPolicyClassName=3D"StopState2CanonicalEditPolicy "
graphicalNodeEditPolicyClassName=3D"StopState2GraphicalNodeEditPo=
licy"
containers=3D"//@diagram/@compartments.2 //@diagram/@compartments=
=2E5">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/not=
ation.genmodel#//notation/Node"/>
<elementType
xsi:type=3D"gmfgen:SpecializationType"

metamodelType=3D"//@diagram/@topLevelNodes.1/@elementType"
editHelperAdviceClassName=3D"StopStateEditHelperAdvice"/>
<viewmap
xsi:type=3D"gmfgen:InnerClassViewmap"
className=3D"StopStateRectangle"
classBody=3D"&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; * @generated&#xD=
;&#xA; */&#xD;&#xA;public class StopStateRectangle extends org.eclipse.dr=
aw2d.RoundedRectangle {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @gen=
erated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public StopStateRectangle() {&#x9;=
&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&# x9;&#x9;org.eclipse.draw2d.BorderLayout m=
yGenLayoutManager =3D new org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x=
9;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& ;#x9;&#x9;this.setLayoutManager(myGenLayo=
utManager);&#xD;&#xA;&#xD;&#xA;&#x9;& ;#x9;&#xD;&#xA;this.setCornerDimensio=
ns(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(8) , getM=
apMode().DPtoLP(8)));&#xD;&#xA;&#xD;&#xA;&am p;#x9;&#x9;createContents();&#xD;=
&#xA;&#x9;}&#xD;&#xA;&#xD;&#xA;& #xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @gener=
ated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void createContents(){&#xD;&=
#xA;&#x9;&#x9;org.eclipse.gmf.runtime.draw2d.ui.figu res.WrapLabel fig_0 =3D=
new org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_=
0.setText(&quot;StopState&quot;);&#xD;&#xA;& amp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;=
&#x9;&#x9;setFigureStopStateNameLabel(fig_0);&#x D;&#xA;&#x9;&#x9;&#xD;&#x=
A;&#x9;Object layData0 =3D org.eclipse.draw2d.BorderLayout.BOTTOM;&#xD;&#=
xA;&#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&am p;#xA;&#xD;&#xA;&#x9;&#x9;this.add(fig_0,=
layData0);&#xD;&#xA;&#x9;&#x9;org.eclipse.dr aw2d.Ellipse fig_1 =3D new o=
rg.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& #xA;&#x9;&#x9;fig_1.setPrefer=
redSize(getMapMode().DPtoLP(60), getMapMode().DPtoLP(60));&#xD;&#xA;&#x9;=
&#x9;fig_1.setMaximumSize(new org.eclipse.draw2d.geometry.Dimension(getMa=
pMode().DPtoLP(80), getMapMode().DPtoLP(80)));&#xD;&#xA;&#x9;&#x 9;fig_1.s=
etMinimumSize(new org.eclipse.draw2d.geometry.Dimension(getMapMode().DPto=
LP(60), getMapMode().DPtoLP(60)));&#xD;&#xA;&#x9;&#x 9;fig_1.setBorder(&#x=
9;&#xD;&#xA;new org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(5), g=
etMapMode().DPtoLP(5), getMapMode().DPtoLP(5), getMapMode().DPtoLP(5))&#x=
D;&#xA;);&#xD;&#xA;&#xD;&#xA;&#x9;&a mp;#x9;org.eclipse.draw2d.BorderLayout la=
youter1 =3D new org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#x=
D;&#xA;&#x9;&#xD;&#xA;&#x9;&#x9;fig_ 1.setLayoutManager(layouter1);&#xD;&#=
xA;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;set FigureouterEllipse(fig_1);&#xD;&#xA;&=
#x9;&#x9;&#xD;&#xA;&#x9;Object layData1 =3D org.eclipse.draw2d.BorderLayo=
ut.CENTER;&#xD;&#xA;&#xD;&#xA;&#x9;& #x9;&#x9;&#xD;&#xA;&#xD;&#xA;&#x9;&a mp;#x=
9;this.add(fig_1, layData1);&#xD;&#xA;&#x9;&#x9;org.eclipse.dr aw2d.Ellips=
e fig_2 =3D new org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x=
9;fig_2.setFillXOR(true);&#xD;&#xA;&#x9;&#x9 ;fig_2.setBackgroundColor(org=
=2Eeclipse.draw2d.ColorConstants.black&#xD;&#xA;& ;#xD;&#xA;);&#xD;&#xA;&#x=
D;&#xA;&#xD;&#xA;&#xD;&#xA;&#x9;& ;#x9;&#xD;&#xA;&#x9;Object layData2 =3D o=
rg.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;& ;#xD;&#xA;&#x9;&#x9;&#x9;=
&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;fig_1. add(fig_2, layData2);&#xD;&#xA;&#x9;}=
&#xD;&#xA;&#x9;&#xD;&#xA;&#x9;&# x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @g=
enerated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private org.eclipse.gmf.runtime.=
draw2d.ui.figures.WrapLabel fStopStateNameLabel; &#xD;&#xA;&#xD;&#xA;&#x9=
;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public o=
rg.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel getFigureStopStateName=
Label() {&#xD;&#xA;&#x9;&#x9;return fStopStateNameLabel;&#xD;&#xA;&#x9;}&=
#xD;&#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD ;&#xA;&#x9; * @generated&#xD;&#xA;&#x=
9; */&#xD;&#xA;&#x9;private void setFigureStopStateNameLabel(org.eclipse.=
gmf.runtime.draw2d.ui.figures.WrapLabel fig){&#xD;&#xA;&#x9;&#x9;fStopSta=
teNameLabel =3D fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#=
xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;p=
rivate org.eclipse.draw2d.Ellipse fOuterEllipse; &#xD;&#xA;&#xD;&#xA;&#x9=
;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public o=
rg.eclipse.draw2d.Ellipse getFigureOuterEllipse() {&#xD;&#xA;&#x9;&#x9;re=
turn fOuterEllipse;&#xD;&#xA;&#x9;}&#xD;&#xA; &#x9;&#xD;&#xA;&#x9;/**&#xD;=
&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void setF=
igureouterEllipse(org.eclipse.draw2d.Ellipse fig){&#xD;&#xA;&#x9;&#x9;fOu=
terEllipse =3D fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#x=
A;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#=
xA;&#x9;private boolean myUseLocalCoordinates =3D false;&#xD;&#xA;&#xD;&#=
xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;p=
rotected boolean useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return myUseL=
ocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&#x A;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x=
9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void setUseLoca=
lCoordinates(boolean useLocalCoordinates) {&#xD;&#xA;&#x9;&#x9;myUseLocal=
Coordinates =3D useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&=
#xA;&#xD;&#xA;}&#xD;&#xA;&#x9;&#xD;& amp;#xA; ">
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPlu=
ginIDs>
</viewmap>
<modelFacet>
<metaClass
href=3D"model/statemachine2.genmodel#//statemachine2/StopStat=
e"/>
<containmentMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
<childMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
</modelFacet>
<labels
visualID=3D"5005"
editPartClassName=3D"StopStateName2EditPart"
itemSemanticEditPolicyClassName=3D"StopStateName2ItemSemanticEd=
itPolicy"
notationViewFactoryClassName=3D"StopStateName2ViewFactory"
elementIcon=3D"true">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/n=
otation.genmodel#//notation/Node"/>
<viewmap
xsi:type=3D"gmfgen:ParentAssignedViewmap"
getterName=3D"getFigureStopStateNameLabel"
figureQualifiedClassName=3D"org.eclipse.gmf.runtime.draw2d.ui=
=2Efigures.WrapLabel"/>
<modelFacet
xsi:type=3D"gmfgen:FeatureLabelModelFacet">
<metaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Named/=
name"/>
</modelFacet>
</labels>
</childNodes>
<childNodes
visualID=3D"3005"
editPartClassName=3D"CompositeState2EditPart"
itemSemanticEditPolicyClassName=3D"CompositeState2ItemSemanticEdi=
tPolicy"
notationViewFactoryClassName=3D"CompositeState2ViewFactory"
canonicalEditPolicyClassName=3D"CompositeState2CanonicalEditPolic=
y"
compartments=3D"//@diagram/@compartments.4 //@diagram/@compartmen=
ts.5"
graphicalNodeEditPolicyClassName=3D"CompositeState2GraphicalNodeE=
ditPolicy"
containers=3D"//@diagram/@compartments.5 //@diagram/@compartments=
=2E2">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/not=
ation.genmodel#//notation/Node"/>
<elementType
xsi:type=3D"gmfgen:SpecializationType"
metamodelType=3D"//@diagram/@topLevelNodes.3/@elementType"
editHelperAdviceClassName=3D"CompositeStateEditHelperAdvice "/>
<viewmap
xsi:type=3D"gmfgen:InnerClassViewmap"
className=3D"CompositeStateFigure"
classBody=3D"&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; * @generated&#xD=
;&#xA; */&#xD;&#xA;public class CompositeStateFigure extends org.eclipse.=
draw2d.RectangleFigure {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @ge=
nerated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public CompositeStateFigure() {&#=
x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9; &#x9;=
this.setBackgroundColor(org.eclipse.draw2d.ColorConstants.li ghtGray&#xD;&=
#xA;&#xD;&#xA;);&#xD;&#xA;&#x9;&#x9; createContents();&#xD;&#xA;&#x9;}&#xD=
;&#xA;&#xD;&#xA;&#xD;&#xA;&#x9;/**&a mp;#xD;&#xA;&#x9; * @generated&#xD;&#xA;&=
#x9; */&#xD;&#xA;&#x9;private void createContents(){&#xD;&#xA;&#x9;&#x9;o=
rg.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fig_0 =3D new org.ecli=
pse.gmf.runtime.draw2d.ui.figures.WrapLabel();&#xD;& #xA;fig_0.setText(&qu=
ot;&lt;Huzifaki> &quot;);&#xD;&#xA;&#x9;&#x9;fig_0.setBac kgroundColor(org.=
eclipse.draw2d.ColorConstants.black&#xD;&#xA;&#x D;&#xA;);&#xD;&#xA;&#xD;&=
#xA;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;se tFigureCompositeNameLabel(fig_0);&#xD=
;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9;& #x9;Object layData0 =3D null;&#xD;&#xA;&#=
xD;&#xA;&#x9;&#x9;this.add(fig_0, layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x=
9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& ;#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;=
&#xA;&#x9; */&#xD;&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.fig=
ures.WrapLabel fCompositeNameLabel; &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA=
;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public org.eclipse.gm=
f.runtime.draw2d.ui.figures.WrapLabel getFigureCompositeNameLabel() {&#xD=
;&#xA;&#x9;&#x9;return fCompositeNameLabel;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9=
;&#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#x=
A;&#x9;private void setFigureCompositeNameLabel(org.eclipse.gmf.runtime.d=
raw2d.ui.figures.WrapLabel fig){&#xD;&#xA;&#x9;&#x9;fCompositeNameLabel =3D=
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#=
x9;/**&#xD;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;privat=
e boolean myUseLocalCoordinates =3D false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# x=
D;&#xA;&#x9; * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boole=
an useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return myUseLocalCoordinate=
s;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;&am p;#xA;&#x9;/**&#xD;&#xA;&#x9; * @generate=
d&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void setUseLocalCoordinates(b=
oolean useLocalCoordinates) {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =3D=
useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}=
&#xD;&#xA;&#x9;&#xD;&#xA;">
<attributes
xsi:type=3D"gmfgen:StyleAttributes"
fixedBackground=3D"true"/>
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPlu=
ginIDs>
</viewmap>
<modelFacet>
<metaClass
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState"/>
<containmentMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
<childMetaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Composit=
eState/states"/>
</modelFacet>
<labels
visualID=3D"5006"
editPartClassName=3D"CompositeStateNameEditPart"
itemSemanticEditPolicyClassName=3D"CompositeStateNameItemSemant=
icEditPolicy"
notationViewFactoryClassName=3D"CompositeStateNameViewFactory "
elementIcon=3D"true">
<diagramRunTimeClass
href=3D"../../plugin/org.eclipse.gmf.runtime.notation/model/n=
otation.genmodel#//notation/Node"/>
<viewmap
xsi:type=3D"gmfgen:ParentAssignedViewmap"
getterName=3D"getFigureStateNameLabel"
figureQualifiedClassName=3D"org.eclipse.gmf.runtime.draw2d.ui=
=2Efigures.WrapLabel"/>
<modelFacet
xsi:type=3D"gmfgen:FeatureLabelModelFacet"
viewPattern=3D""
editPattern=3D"">
<metaFeature
href=3D"model/statemachine2.genmodel#//statemachine2/Named/=
name"/>
</modelFacet>
Re: Missing methods in a generated Class [message #51238 is a reply to message #51196] Tue, 19 September 2006 11:35 Go to previous messageGo to next message
Eclipse UserFriend
Hi,

The explanation below is a bit complicated because the problem lies in the
relation between Node Mapping/Label Mapping in the map model, corresponding
Diagram Node/Diagram Label in the "diagram elements" part of the gmf graph
model and corresponding figures/labels in the "Figures" part of the gmfgraph
model. I am sorry that I can not explain this better.

In the gmfgraph you have CompositeStateFigure with child label
CompositeNameLabel.

You also have Diagram Label StateNameDiagramLabel that references _different
label figure_, in particular, the label form _different and unrelated
figures hierarchy_.

You also have diagram node that references CompositeStateFigure and
NodeMapping that references this diagram node.

Inside this mapping you also have Label Mapping that references that
UNRELATED StateNameDiagramLabel from the gmfgraph.

To fix compilation error you need to ensure that Label Mapping either:
1. Indirectly (via gmfgraph Diagram Label medium) references the
"uncontained" label (the one that is not inside any figure hierarchy, the
direct child of its FigureGallery) -- in this case this label will be
considered external.
2. Or indirectly references the label from the same figure hierarchy that
the figure indirectly referenced by Node Mapping (I guess that it should be
Diagram Label for "CompositeNameLabel") -- in this case the "inner" label
will be used with positions defined by figure hierarchy.

You may take a look at the attached diagram (also a bit cryptic)

Regards,
Michael


"Christian Barth" <dont@spam.net> wrote in message
news:eeovli$era$1@utils.eclipse.org...
> Hi,
>
> I have attached all models from my project to this posting.
> The code generation works fine. I can generate the following projects:
> com.eads.statemachine
> com.eads.statemachine.edit
> com.eads.statemachine.editor
> com.eads.statemachine.tests
> com.eads.statemachine.diagram
>
> But the .diagram Project makes me not happy. When I try to build the
> whole stuff, Eclipse points me to two Files in the
> statemachine2.diagram.edit.parts package where something is missing. The
> files are:
> CompositeState2EditPart.java
> CompositeStateEditPart.java
> Both files have a inner Class "CompositeStateFigure". They try to call
> the function .getFigureStateNameLabel() on instance of this class.
> But the "CompositeStateFigure" Class doesn't have such a function.
>
> Is it a Problem with my model? Or did I something wrong with the code
> generation?
>
>
> Regards,
> Christian
>


------------------------------------------------------------ --------------------


> <?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="statemachine2"
> nsURI="http://openarchitectureware.org/statemachine2"
> nsPrefix="statemachine2">
> <eClassifiers xsi:type="ecore:EClass" name="Named" abstract="true">
> <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="Machine"
> eSuperTypes="#//CompositeState #//Named"/>
> <eClassifiers xsi:type="ecore:EClass" name="CompositeState"
> eSuperTypes="#//State">
> <eStructuralFeatures xsi:type="ecore:EReference" name="states"
> lowerBound="1"
> upperBound="-1" eType="#//AbstractState" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="transitions"
> upperBound="-1"
> eType="#//Transition" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="AbstractState"
> abstract="true">
> <eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions"
> upperBound="-1"
> eType="#//Transition" eOpposite="#//Transition/to"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions"
> upperBound="-1"
> eType="#//Transition" eOpposite="#//Transition/from"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="actions"
> upperBound="-1"
> eType="#//Action" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="State"
> eSuperTypes="#//AbstractState #//Named"/>
> <eClassifiers xsi:type="ecore:EClass" name="StartState"
> eSuperTypes="#//AbstractState"/>
> <eClassifiers xsi:type="ecore:EClass" name="StopState"
> eSuperTypes="#//AbstractState #//Named"/>
> <eClassifiers xsi:type="ecore:EClass" name="Transition"
> eSuperTypes="#//Named">
> <eStructuralFeatures xsi:type="ecore:EReference" name="from"
> lowerBound="1" eType="#//AbstractState"
> eOpposite="#//AbstractState/outTransitions"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="to"
> lowerBound="1" eType="#//AbstractState"
> eOpposite="#//AbstractState/inTransitions"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="event"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="guard"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="Action"
> eSuperTypes="#//Named">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
> lowerBound="1" eType="#//ActionKind"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EEnum" name="ActionKind">
> <eLiterals name="ENTRY" value="1"/>
> <eLiterals name="EXIT" value="2"/>
> </eClassifiers>
> </ecore:EPackage>
>


------------------------------------------------------------ --------------------


> <?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="/com.eads.statemachine/src"
> modelPluginID="com.eads.statemachine" modelName="Statemachine2"
> importerID="org.eclipse.emf.importer.ecore">
> <foreignModel>statemachine2.ecore</foreignModel>
> <genPackages prefix="Statemachine2" disposableProviderFactory="true"
> ecorePackage="statemachine2.ecore#/">
> <genEnums ecoreEnum="statemachine2.ecore#//ActionKind">
> <genEnumLiterals
> ecoreEnumLiteral="statemachine2.ecore#//ActionKind/ENTRY"/ >
> <genEnumLiterals
> ecoreEnumLiteral="statemachine2.ecore#//ActionKind/EXIT"/>
> </genEnums>
> <genClasses image="false" ecoreClass="statemachine2.ecore#//Named">
> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
> statemachine2.ecore#//Named/name"/>
> </genClasses>
> <genClasses ecoreClass="statemachine2.ecore#//Machine"/>
> <genClasses ecoreClass="statemachine2.ecore#//CompositeState">
> <genFeatures property="None" children="true" createChild="true"
> ecoreFeature="ecore:EReference
> statemachine2.ecore#//CompositeState/states"/>
> <genFeatures property="None" children="true" createChild="true"
> ecoreFeature="ecore:EReference
> statemachine2.ecore#//CompositeState/transitions"/>
> </genClasses>
> <genClasses image="false"
> ecoreClass="statemachine2.ecore#//AbstractState">
> <genFeatures notify="false" createChild="false"
> propertySortChoices="true" ecoreFeature="ecore:EReference
> statemachine2.ecore#//AbstractState/inTransitions"/>
> <genFeatures notify="false" createChild="false"
> propertySortChoices="true" ecoreFeature="ecore:EReference
> statemachine2.ecore#//AbstractState/outTransitions"/>
> <genFeatures property="None" children="true" createChild="true"
> ecoreFeature="ecore:EReference
> statemachine2.ecore#//AbstractState/actions"/>
> </genClasses>
> <genClasses ecoreClass="statemachine2.ecore#//State"/>
> <genClasses ecoreClass="statemachine2.ecore#//StartState"/>
> <genClasses ecoreClass="statemachine2.ecore#//StopState"/>
> <genClasses ecoreClass="statemachine2.ecore#//Transition">
> <genFeatures notify="false" createChild="false"
> propertySortChoices="true" ecoreFeature="ecore:EReference
> statemachine2.ecore#//Transition/from"/>
> <genFeatures notify="false" createChild="false"
> propertySortChoices="true" ecoreFeature="ecore:EReference
> statemachine2.ecore#//Transition/to"/>
> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
> statemachine2.ecore#//Transition/event"/>
> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
> statemachine2.ecore#//Transition/guard"/>
> </genClasses>
> <genClasses ecoreClass="statemachine2.ecore#//Action">
> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
> statemachine2.ecore#//Action/kind"/>
> </genClasses>
> </genPackages>
> </genmodel:GenModel>
>


------------------------------------------------------------ --------------------


> <?xml version="1.0" encoding="UTF-8"?>
> <gmfgraph:Canvas xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:gmfgraph="http://www.eclipse.org/gmf/2005/GraphicalDefinition"
> name="statemachine2">
> <figures
> name="Default">
> <figures
> xsi:type="gmfgraph:Rectangle"
> referencingElements="State ActionCompartment"
> name="StateFigure">
> <children
> xsi:type="gmfgraph:Label"
> referencingElements="StateNameDiagramLabel"
> name="StateNameLabel"
> text="&lt;...>"/>
> <backgroundColor
> xsi:type="gmfgraph:ConstantColor"
> value="lightGray"/>
> </figures>
> <figures
> xsi:type="gmfgraph:PolylineConnection"
> referencingElements="Transition"
> name="TransitionFigure">
> <children
> xsi:type="gmfgraph:Label"
> referencingElements="TransitionDiagramLabel"
> name="TransitionLabel"
> text="&lt;...>"/>
> <children
> xsi:type="gmfgraph:PolylineDecoration"
> name="RE">
> <backgroundColor
> xsi:type="gmfgraph:RGBColor"
> green="128"/>
> <location/>
> <size
> y="1"/>
> <template
> x="-1"
> y="1"/>
> <template
> x="-1"
> y="-1"/>
> <template
> y="-1"/>
> <template/>
> </children>
> <backgroundColor
> xsi:type="gmfgraph:ConstantColor"
> value="darkGray"/>
> </figures>
> <figures
> xsi:type="gmfgraph:Ellipse"
> name="StopStateEllipse"
> lineWidth="2">
> <children
> xsi:type="gmfgraph:Ellipse"
> name="StopStateFigure"
> lineWidth="2">
> <backgroundColor
> xsi:type="gmfgraph:RGBColor"/>
> </children>
> <backgroundColor
> xsi:type="gmfgraph:RGBColor"/>
> </figures>
> <figures
> xsi:type="gmfgraph:Rectangle"
> referencingElements="CompositeState SubStateCompartment"
> name="CompositeStateFigure">
> <children
> xsi:type="gmfgraph:Label"
> name="CompositeNameLabel"
> text="&lt;Huzifaki>">
> <backgroundColor
> xsi:type="gmfgraph:ConstantColor"
> value="black"/>
> </children>
> <backgroundColor
> xsi:type="gmfgraph:ConstantColor"
> value="lightGray"/>
> </figures>
> <figures
> xsi:type="gmfgraph:Rectangle"
> referencingElements="Action"
> name="ActionFigure">
> <children
> xsi:type="gmfgraph:Label"
> referencingElements="ActionDiagramLabel"
> name="ActionLabel"
> text="&lt;...>"/>
> </figures>
> <figures
> xsi:type="gmfgraph:Rectangle"
> referencingElements="StartState"
> name="StartStateRectangle">
> <layout
> xsi:type="gmfgraph:BorderLayout"/>
> <children
> xsi:type="gmfgraph:Ellipse"
> name="StartStateEllipse"
> lineWidth="2">
> <layoutData
> xsi:type="gmfgraph:BorderLayoutData"/>
> <backgroundColor
> xsi:type="gmfgraph:RGBColor"/>
> </children>
> <children
> xsi:type="gmfgraph:Label"
> name="StartStateNameLabel"
> text="StartState">
> <layoutData
> xsi:type="gmfgraph:BorderLayoutData"
> alignment="END"
> vertical="true"/>
> </children>
> </figures>
> <figures
> xsi:type="gmfgraph:RoundedRectangle"
> referencingElements="StopState"
> name="StopStateRectangle">
> <layout
> xsi:type="gmfgraph:BorderLayout"/>
> <children
> xsi:type="gmfgraph:Label"
> referencingElements="StopStateDiagramLabel"
> name="StopStateNameLabel"
> text="StopState">
> <layoutData
> xsi:type="gmfgraph:BorderLayoutData"
> alignment="END"
> vertical="true"/>
> </children>
> <children
> xsi:type="gmfgraph:Ellipse"
> name="outerEllipse">
> <layoutData
> xsi:type="gmfgraph:BorderLayoutData"/>
> <layout
> xsi:type="gmfgraph:BorderLayout"/>
> <children
> xsi:type="gmfgraph:Ellipse"
> name="innerEllipse"
> xorFill="true">
> <layoutData
> xsi:type="gmfgraph:BorderLayoutData"/>
> <backgroundColor
> xsi:type="gmfgraph:ConstantColor"
> value="black"/>
> </children>
> <maximumSize
> dx="80"
> dy="80"/>
> <minimumSize
> dx="60"
> dy="60"/>
> <preferredSize
> dx="60"
> dy="60"/>
> <border
> xsi:type="gmfgraph:MarginBorder">
> <insets
> top="5"
> left="5"
> bottom="5"
> right="5"/>
> </border>
> </children>
> </figures>
> </figures>
> <nodes
> name="State"
> figure="StateFigure"/>
> <nodes
> name="StartState"
> figure="StartStateRectangle"/>
> <nodes
> name="StopState"
> figure="StopStateRectangle"/>
> <nodes
> name="CompositeState"
> figure="CompositeStateFigure"/>
> <nodes
> name="Action"
> figure="ActionFigure"/>
> <connections
> name="Transition"
> figure="TransitionFigure"/>
> <compartments
> name="SubStateCompartment"
> figure="CompositeStateFigure"/>
> <compartments
> name="ActionCompartment"
> figure="StateFigure"/>
> <labels
> name="StateNameDiagramLabel"
> figure="StateNameLabel"/>
> <labels
> name="TransitionDiagramLabel"
> figure="TransitionLabel"/>
> <labels
> name="ActionDiagramLabel"
> figure="ActionLabel"/>
> <labels
> name="StopStateDiagramLabel"
> figure="StopStateNameLabel"/>
> </gmfgraph:Canvas>
>


------------------------------------------------------------ --------------------


> <?xml version="1.0" encoding="UTF-8"?>
> <gmftool:ToolRegistry xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition">
> <palette>
> <tools
> xsi:type="gmftool:ToolGroup"
> title="States">
> <tools
> xsi:type="gmftool:CreationTool"
> title="State"
> description="Create new State">
> <smallIcon
> xsi:type="gmftool:BundleImage"
> path="platform:/plugin/com.eads.statemachine/icons/state.gif "/>
> </tools>
> <tools
> xsi:type="gmftool:CreationTool"
> title="StartState"
> description="Create new StartState">
> <smallIcon
> xsi:type="gmftool:BundleImage"
> path="platform:/plugin/com.eads.statemachine/icons/start.gif "/>
> </tools>
> <tools
> xsi:type="gmftool:PaletteSeparator"/>
> <tools
> xsi:type="gmftool:CreationTool"
> title="StopState"
> description="Create new StopState">
> <smallIcon
> xsi:type="gmftool:BundleImage"
> path="platform:/plugin/com.eads.statemachine/icons/stop.gif "/>
> </tools>
> <tools
> xsi:type="gmftool:CreationTool"
> title="CompositeState"
> description="Create new CompositeState">
> <smallIcon
> xsi:type="gmftool:BundleImage"
>
> path="platform:/plugin/com.eads.statemachine/icons/compstate.gif "/>
> </tools>
> </tools>
> <tools
> xsi:type="gmftool:CreationTool"
> title="Transition"
> description="Create new Transition">
> <smallIcon
> xsi:type="gmftool:BundleImage"
>
> path="platform:/plugin/com.eads.statemachine/icons/transition.gif "/>
> </tools>
> <tools
> xsi:type="gmftool:CreationTool"
> title="Action"
> description="Create new Action">
> <smallIcon
> xsi:type="gmftool:BundleImage"
> path="platform:/plugin/com.eads.statemachine/icons/action.gif "/>
> </tools>
> </palette>
> </gmftool:ToolRegistry>
>


------------------------------------------------------------ --------------------


<?xml version="1.0" encoding="UTF-8"?>
<gmfgen:GenEditorGenerator xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gmfgen="http://www.eclipse.org/gmf/2005/GenModel">
<diagram
visualID="1000"
editPartClassName="MachineEditPart"
itemSemanticEditPolicyClassName="MachineItemSemanticEditPolicy "
notationViewFactoryClassName="MachineViewFactory"
iconProviderPriority="Low"
canonicalEditPolicyClassName="MachineCanonicalEditPolicy">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Diagram "/>
<elementType
xsi:type="gmfgen:MetamodelType"
editHelperClassName="MachineEditHelper"/>
<viewmap
xsi:type="gmfgen:FigureViewmap"
figureQualifiedClassName="org.eclipse.draw2d.FreeformLayer"/ >
<domainDiagramElement
href="model/statemachine2.genmodel#//statemachine2/Machine"/ >
<childNodes
visualID="3001"
editPartClassName="ActionEditPart"
itemSemanticEditPolicyClassName="ActionItemSemanticEditPolicy "
notationViewFactoryClassName="ActionViewFactory"
canonicalEditPolicyClassName="ActionCanonicalEditPolicy"
graphicalNodeEditPolicyClassName="ActionGraphicalNodeEditPolicy "
containers="//@diagram/@compartments.0 //@diagram/@compartments.3">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<elementType
xsi:type="gmfgen:MetamodelType"
editHelperClassName="ActionEditHelper"/>
<viewmap
xsi:type="gmfgen:InnerClassViewmap"
className="ActionFigure"
classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
@generated&#xD;&#xA; */&#xD;&#xA;public class ActionFigure extends
org.eclipse.draw2d.RectangleFigure
{&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public ActionFigure()
{&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;&#x9;createContents();&#xD;&#xA;&#x9; }&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& #x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
fig_0 = new
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;&lt;... > &quot;);&#xD;&#xA;&#xD;&#xA;&#xD;&am p;#xA;&#xD;&#xA;&#x9;&#x9;setFigureActionLab el(fig_0);&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#x9;&#x9;Object
layData0 = null;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;t his.add(fig_0,
layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fActionLabel;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
getFigureActionLabel() {&#xD;&#xA;&#x9;&#x9;return
fActionLabel;&#xD;&#xA;&#x9;}&#xD;&#xA;& amp;#x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureActionLabel(org.eclipse.gmf.runtime.draw2d.ui.figur es.WrapLabel
fig){&#xD;&#xA;&#x9;&#x9;fActionLabel =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
@generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
setUseLocalCoordinates(boolean useLocalCoordinates)
{&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA; ">
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
</viewmap>
<modelFacet>
<metaClass
href="model/statemachine2.genmodel#//statemachine2/Action"/ >
<containmentMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/AbstractState/a ctions "/>
<childMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/AbstractState/a ctions "/>
</modelFacet>
<labels
visualID="5001"
editPartClassName="ActionKindNameEditPart"
itemSemanticEditPolicyClassName="ActionKindNameItemSemanticEditPolicy "
notationViewFactoryClassName="ActionKindNameViewFactory"
elementIcon="true">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<viewmap
xsi:type="gmfgen:ParentAssignedViewmap"
getterName="getFigureActionLabel"
figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel "/>
<modelFacet
xsi:type="gmfgen:CompositeFeatureLabelModelFacet"
viewPattern="{0}/{1}"
editPattern="{0}/{1}">
<metaFeatures
href="model/statemachine2.genmodel#//statemachine2/Action/kind "/>
<metaFeatures
href="model/statemachine2.genmodel#//statemachine2/Named/name "/>
</modelFacet>
</labels>
</childNodes>
<childNodes
visualID="3002"
editPartClassName="State2EditPart"
itemSemanticEditPolicyClassName="State2ItemSemanticEditPolicy "
notationViewFactoryClassName="State2ViewFactory"
canonicalEditPolicyClassName="State2CanonicalEditPolicy"
compartments="//@diagram/@compartments.3"
graphicalNodeEditPolicyClassName="State2GraphicalNodeEditPolicy "
containers="//@diagram/@compartments.2 //@diagram/@compartments.5">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<elementType
xsi:type="gmfgen:SpecializationType"
metamodelType="//@diagram/@topLevelNodes.0/@elementType"
editHelperAdviceClassName="StateEditHelperAdvice"/>
<viewmap
xsi:type="gmfgen:InnerClassViewmap"
className="StateFigure"
classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
@generated&#xD;&#xA; */&#xD;&#xA;public class StateFigure extends
org.eclipse.draw2d.RectangleFigure
{&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public StateFigure()
{&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;&#x9;this.setBackgroundColor(org.eclipse.draw2d.C olorConstants.lightGray&#xD;&#xA;&#xD;&#xA;) ;&#xD;&#xA;&#x9;&#x9;createContents();&# xD;&#xA;&#x9;}&#xD;&#xA;&#xD;&#xA;&a mp;#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
fig_0 = new
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;&lt;... > &quot;);&#xD;&#xA;&#xD;&#xA;&#xD;&am p;#xA;&#xD;&#xA;&#x9;&#x9;setFigureStateName Label(fig_0);&#xD;&#xA;&#x9;&#x9;&#xD;&a mp;#xA;&#x9;&#x9;Object
layData0 = null;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;t his.add(fig_0,
layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fStateNameLabel;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
getFigureStateNameLabel() {&#xD;&#xA;&#x9;&#x9;return
fStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&#x A;&#x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;& amp;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureStateNameLabel(org.eclipse.gmf.runtime.draw2d.ui.fi gures.WrapLabel
fig){&#xD;&#xA;&#x9;&#x9;fStateNameLabel =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
@generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
setUseLocalCoordinates(boolean useLocalCoordinates)
{&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA; ">
<attributes
xsi:type="gmfgen:StyleAttributes"
fixedBackground="true"/>
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
</viewmap>
<modelFacet>
<metaClass
href="model/statemachine2.genmodel#//statemachine2/State"/ >
<containmentMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
<childMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
</modelFacet>
<labels
visualID="5004"
editPartClassName="StateName2EditPart"
itemSemanticEditPolicyClassName="StateName2ItemSemanticEditPolicy "
notationViewFactoryClassName="StateName2ViewFactory"
elementIcon="true">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<viewmap
xsi:type="gmfgen:ParentAssignedViewmap"
getterName="getFigureStateNameLabel"
figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel "/>
<modelFacet
xsi:type="gmfgen:FeatureLabelModelFacet">
<metaFeature
href="model/statemachine2.genmodel#//statemachine2/Named/name "/>
</modelFacet>
</labels>
</childNodes>
<childNodes
visualID="3003"
editPartClassName="StartState2EditPart"
itemSemanticEditPolicyClassName="StartState2ItemSemanticEditPolicy "
notationViewFactoryClassName="StartState2ViewFactory"
canonicalEditPolicyClassName="StartState2CanonicalEditPolicy "
graphicalNodeEditPolicyClassName="StartState2GraphicalNodeEditPolicy "
containers="//@diagram/@compartments.2 //@diagram/@compartments.5">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<elementType
xsi:type="gmfgen:SpecializationType"
metamodelType="//@diagram/@topLevelNodes.2/@elementType"
editHelperAdviceClassName="StartStateEditHelperAdvice"/>
<viewmap
xsi:type="gmfgen:InnerClassViewmap"
className="StartStateRectangle"
classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
@generated&#xD;&#xA; */&#xD;&#xA;public class StartStateRectangle extends
org.eclipse.draw2d.RectangleFigure
{&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public StartStateRectangle()
{&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#x9;&#x9;org.eclipse.draw2d.BorderLayout
myGenLayoutManager = new
org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& #x9;&#x9;this.setLayoutManager(myGenLayoutManager);& #xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#xD;&a mp;#xA;&#x9;&#x9;createContents();&#xD;&#xA; &#x9;}&#xD;&#xA;&#xD;&#xA;&#xD;& #xA;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.draw2d.Ellipse fig_0 = new
org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x9;fig_0.setLineWidth(2);&#xD;&# xA;&#x9;&#x9;fig_0.setBackgroundColor(STARTSTATEELLI PSE_BACK&#xD;&#xA;&#xD;&#xA;);&#xD;& #xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#x9;&#x9;setFigureStartStateEllipse(fig_0);&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#xA;&#x9;Object
layData0 =
org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_0,
layData0);&#xD;&#xA;&#x9;&#x9;org.eclipse.gm f.runtime.draw2d.ui.figures.WrapLabel
fig_1 = new
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_1.setText(&quot;StartState&quot;);&a mp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD ;&#xA;&#x9;&#x9;setFigureStartStateNameLabel(fig _1);&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;Object
layData1 =
org.eclipse.draw2d.BorderLayout.BOTTOM;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_1,
layData1);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.draw2d.Ellipse fStartStateEllipse;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.draw2d.Ellipse
getFigureStartStateEllipse() {&#xD;&#xA;&#x9;&#x9;return
fStartStateEllipse;&#xD;&#xA;&#x9;}&#xD;& ;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;&#x A;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureStartStateEllipse(org.eclipse.draw2d.Ellipse
fig){&#xD;&#xA;&#x9;&#x9;fStartStateEllipse =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#xA;&#x9;/**& ;#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fStartStateNameLabel;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
getFigureStartStateNameLabel() {&#xD;&#xA;&#x9;&#x9;return
fStartStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&a mp;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;& #xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureStartStateNameLabel(org.eclipse.gmf.runtime.draw2d. ui.figures.WrapLabel
fig){&#xD;&#xA;&#x9;&#x9;fStartStateNameLabe l =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
@generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
setUseLocalCoordinates(boolean useLocalCoordinates)
{&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA;&#x9;&#xD;& #xA;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public static final
org.eclipse.swt.graphics.Color STARTSTATEELLIPSE_BACK = new
org.eclipse.swt.graphics.Color(null, 0, 0, 0);&#xD;&#xA;">
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
</viewmap>
<modelFacet>
<metaClass
href="model/statemachine2.genmodel#//statemachine2/StartState "/>
<containmentMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
<childMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
</modelFacet>
</childNodes>
<childNodes
visualID="3004"
editPartClassName="StopState2EditPart"
itemSemanticEditPolicyClassName="StopState2ItemSemanticEditPolicy "
notationViewFactoryClassName="StopState2ViewFactory"
canonicalEditPolicyClassName="StopState2CanonicalEditPolicy "
graphicalNodeEditPolicyClassName="StopState2GraphicalNodeEditPolicy "
containers="//@diagram/@compartments.2 //@diagram/@compartments.5">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<elementType
xsi:type="gmfgen:SpecializationType"

metamodelType="//@diagram/@topLevelNodes.1/@elementType"
editHelperAdviceClassName="StopStateEditHelperAdvice"/>
<viewmap
xsi:type="gmfgen:InnerClassViewmap"
className="StopStateRectangle"
classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
@generated&#xD;&#xA; */&#xD;&#xA;public class StopStateRectangle extends
org.eclipse.draw2d.RoundedRectangle
{&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public StopStateRectangle()
{&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#x9;&#x9;org.eclipse.draw2d.BorderLayout
myGenLayoutManager = new
org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& #x9;&#x9;this.setLayoutManager(myGenLayoutManager);& #xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#xD;&a mp;#xA;this.setCornerDimensions(new
org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(8) ,
getMapMode().DPtoLP(8)));&#xD;&#xA;&#xD;&#xA ;&#x9;&#x9;createContents();&#xD;&#xA;&# x9;}&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
fig_0 = new
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;StopState&quot;);&am p;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD; &#xA;&#x9;&#x9;setFigureStopStateNameLabel(fig_0 );&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& ;#x9;Object
layData0 =
org.eclipse.draw2d.BorderLayout.BOTTOM;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_0,
layData0);&#xD;&#xA;&#x9;&#x9;org.eclipse.dr aw2d.Ellipse fig_1 = new
org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x9;fig_1.setPreferredSize(getMapMode().D PtoLP(60),
getMapMode().DPtoLP(60));&#xD;&#xA;&#x9;&#x9 ;fig_1.setMaximumSize(new
org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(80 ),
getMapMode().DPtoLP(80)));&#xD;&#xA;&#x9;&#x 9;fig_1.setMinimumSize(new
org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(60 ),
getMapMode().DPtoLP(60)));&#xD;&#xA;&#x9;&#x 9;fig_1.setBorder(&#x9;&#xD;&#xA;new
org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(5),
getMapMode().DPtoLP(5), getMapMode().DPtoLP(5),
getMapMode().DPtoLP(5))&#xD;&#xA;);&#xD;&#xA ;&#xD;&#xA;&#x9;&#x9;org.eclipse.draw2d.Bord erLayout
layouter1 = new
org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& #x9;&#x9;fig_1.setLayoutManager(layouter1);&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;s etFigureouterEllipse(fig_1);&#xD;&#xA;&#x9;& #x9;&#xD;&#xA;&#x9;Object
layData1 =
org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_1,
layData1);&#xD;&#xA;&#x9;&#x9;org.eclipse.dr aw2d.Ellipse fig_2 = new
org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x9;fig_2.setFillXOR(true);&#xD;& #xA;&#x9;&#x9;fig_2.setBackgroundColor(org.eclipse.d raw2d.ColorConstants.black&#xD;&#xA;&#xD;&#x A;);&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9 ;Object
layData2 =
org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;fig_1.add(fig_2,
layData2);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fStopStateNameLabel;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
getFigureStopStateNameLabel() {&#xD;&#xA;&#x9;&#x9;return
fStopStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;&# xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureStopStateNameLabel(org.eclipse.gmf.runtime.draw2d.u i.figures.WrapLabel
fig){&#xD;&#xA;&#x9;&#x9;fStopStateNameLabel =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#xA;&#x9;/**& ;#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.draw2d.Ellipse fOuterEllipse;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.draw2d.Ellipse getFigureOuterEllipse()
{&#xD;&#xA;&#x9;&#x9;return
fOuterEllipse;&#xD;&#xA;&#x9;}&#xD;&#xA; &#x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;&am p;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureouterEllipse(org.eclipse.draw2d.Ellipse
fig){&#xD;&#xA;&#x9;&#x9;fOuterEllipse =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
@generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
setUseLocalCoordinates(boolean useLocalCoordinates)
{&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA; ">
<requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
<requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
</viewmap>
<modelFacet>
<metaClass
href="model/statemachine2.genmodel#//statemachine2/StopState "/>
<containmentMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
<childMetaFeature
href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
</modelFacet>
<labels
visualID="5005"
editPartClassName="StopStateName2EditPart"
itemSemanticEditPolicyClassName="StopStateName2ItemSemanticEditPolicy "
notationViewFactoryClassName="StopStateName2ViewFactory"
elementIcon="true">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<viewmap
xsi:type="gmfgen:ParentAssignedViewmap"
getterName="getFigureStopStateNameLabel"
figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel "/>
<modelFacet
xsi:type="gmfgen:FeatureLabelModelFacet">
<metaFeature
href="model/statemachine2.genmodel#//statemachine2/Named/name "/>
</modelFacet>
</labels>
</childNodes>
<childNodes
visualID="3005"
editPartClassName="CompositeState2EditPart"
itemSemanticEditPolicyClassName="CompositeState2ItemSemanticEditPolicy "
notationViewFactoryClassName="CompositeState2ViewFactory"
canonicalEditPolicyClassName="CompositeState2CanonicalEditPolicy "
compartments="//@diagram/@compartments.4 //@diagram/@compartments.5"
graphicalNodeEditPolicyClassName="CompositeState2GraphicalNodeEditPolicy "
containers="//@diagram/@compartments.5 //@diagram/@compartments.2">
<diagramRunTimeClass
href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
<elementType
xsi:type="gmfgen:SpecializationType"
metamodelType="//@diagram/@topLevelNodes.3/@elementType"
editHelperAdviceClassName="CompositeStateEditHelperAdvice"/ >
<viewmap
xsi:type="gmfgen:InnerClassViewmap"
className="CompositeStateFigure"
classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
@generated&#xD;&#xA; */&#xD;&#xA;public class CompositeStateFigure extends
org.eclipse.draw2d.RectangleFigure
{&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public CompositeStateFigure()
{&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;&#x9;this.setBackgroundColor(org.eclipse.draw2d.C olorConstants.lightGray&#xD;&#xA;&#xD;&#xA;) ;&#xD;&#xA;&#x9;&#x9;createContents();&# xD;&#xA;&#x9;}&#xD;&#xA;&#xD;&#xA;&a mp;#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
fig_0 = new
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;&lt;Huzifaki > &quot;);&#xD;&#xA;&#x9;&#x9;fig_0.setBac kgroundColor(org.eclipse.draw2d.ColorConstants.black&#xD ;&#xA;&#xD;&#xA;);&#xD;&#xA;&#xD;&am p;#xA;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9; setFigureCompositeNameLabel(fig_0);&#xD;&#xA;&#x 9;&#x9;&#xD;&#xA;&#x9;&#x9;Object
layData0 = null;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;t his.add(fig_0,
layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fCompositeNameLabel;
&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
*/&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
getFigureCompositeNameLabel() {&#xD;&#xA;&#x9;&#x9;return
fCompositeNameLabel;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;&# xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
setFigureCompositeNameLabel(org.eclipse.gmf.runtime.draw2d.u i.figures.WrapLabel
fig){&#xD;&#xA;&#x9;&#x9;fCompositeNameLabel =
fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
@generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
* @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
setUseLocalCoordinates(boolean useLocalCoordinates)
{&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
useLocalCoordinates;&#
Re: Missing methods in a generated Class [message #52931 is a reply to message #51238] Thu, 21 September 2006 09:39 Go to previous message
Eclipse UserFriend
Originally posted by: dont.spam.net

Hi Michael,

thanks for the great explanation. It helped me a lot. The Statemachine
is running now. :)

Thanks!
Christian

Michael Golubev schrieb:
> Hi,
>
> The explanation below is a bit complicated because the problem lies in the
> relation between Node Mapping/Label Mapping in the map model, corresponding
> Diagram Node/Diagram Label in the "diagram elements" part of the gmf graph
> model and corresponding figures/labels in the "Figures" part of the gmfgraph
> model. I am sorry that I can not explain this better.
>
> In the gmfgraph you have CompositeStateFigure with child label
> CompositeNameLabel.
>
> You also have Diagram Label StateNameDiagramLabel that references _different
> label figure_, in particular, the label form _different and unrelated
> figures hierarchy_.
>
> You also have diagram node that references CompositeStateFigure and
> NodeMapping that references this diagram node.
>
> Inside this mapping you also have Label Mapping that references that
> UNRELATED StateNameDiagramLabel from the gmfgraph.
>
> To fix compilation error you need to ensure that Label Mapping either:
> 1. Indirectly (via gmfgraph Diagram Label medium) references the
> "uncontained" label (the one that is not inside any figure hierarchy, the
> direct child of its FigureGallery) -- in this case this label will be
> considered external.
> 2. Or indirectly references the label from the same figure hierarchy that
> the figure indirectly referenced by Node Mapping (I guess that it should be
> Diagram Label for "CompositeNameLabel") -- in this case the "inner" label
> will be used with positions defined by figure hierarchy.
>
> You may take a look at the attached diagram (also a bit cryptic)
>
> Regards,
> Michael
>
>
> "Christian Barth" <dont@spam.net> wrote in message
> news:eeovli$era$1@utils.eclipse.org...
>> Hi,
>>
>> I have attached all models from my project to this posting.
>> The code generation works fine. I can generate the following projects:
>> com.eads.statemachine
>> com.eads.statemachine.edit
>> com.eads.statemachine.editor
>> com.eads.statemachine.tests
>> com.eads.statemachine.diagram
>>
>> But the .diagram Project makes me not happy. When I try to build the
>> whole stuff, Eclipse points me to two Files in the
>> statemachine2.diagram.edit.parts package where something is missing. The
>> files are:
>> CompositeState2EditPart.java
>> CompositeStateEditPart.java
>> Both files have a inner Class "CompositeStateFigure". They try to call
>> the function .getFigureStateNameLabel() on instance of this class.
>> But the "CompositeStateFigure" Class doesn't have such a function.
>>
>> Is it a Problem with my model? Or did I something wrong with the code
>> generation?
>>
>>
>> Regards,
>> Christian
>>
>
>
> ------------------------------------------------------------ --------------------
>
>
>> <?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="statemachine2"
>> nsURI="http://openarchitectureware.org/statemachine2"
>> nsPrefix="statemachine2">
>> <eClassifiers xsi:type="ecore:EClass" name="Named" abstract="true">
>> <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="Machine"
>> eSuperTypes="#//CompositeState #//Named"/>
>> <eClassifiers xsi:type="ecore:EClass" name="CompositeState"
>> eSuperTypes="#//State">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="states"
>> lowerBound="1"
>> upperBound="-1" eType="#//AbstractState" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="transitions"
>> upperBound="-1"
>> eType="#//Transition" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="AbstractState"
>> abstract="true">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions"
>> upperBound="-1"
>> eType="#//Transition" eOpposite="#//Transition/to"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions"
>> upperBound="-1"
>> eType="#//Transition" eOpposite="#//Transition/from"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="actions"
>> upperBound="-1"
>> eType="#//Action" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="State"
>> eSuperTypes="#//AbstractState #//Named"/>
>> <eClassifiers xsi:type="ecore:EClass" name="StartState"
>> eSuperTypes="#//AbstractState"/>
>> <eClassifiers xsi:type="ecore:EClass" name="StopState"
>> eSuperTypes="#//AbstractState #//Named"/>
>> <eClassifiers xsi:type="ecore:EClass" name="Transition"
>> eSuperTypes="#//Named">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="from"
>> lowerBound="1" eType="#//AbstractState"
>> eOpposite="#//AbstractState/outTransitions"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="to"
>> lowerBound="1" eType="#//AbstractState"
>> eOpposite="#//AbstractState/inTransitions"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="event"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="guard"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="Action"
>> eSuperTypes="#//Named">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind"
>> lowerBound="1" eType="#//ActionKind"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EEnum" name="ActionKind">
>> <eLiterals name="ENTRY" value="1"/>
>> <eLiterals name="EXIT" value="2"/>
>> </eClassifiers>
>> </ecore:EPackage>
>>
>
>
> ------------------------------------------------------------ --------------------
>
>
>> <?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="/com.eads.statemachine/src"
>> modelPluginID="com.eads.statemachine" modelName="Statemachine2"
>> importerID="org.eclipse.emf.importer.ecore">
>> <foreignModel>statemachine2.ecore</foreignModel>
>> <genPackages prefix="Statemachine2" disposableProviderFactory="true"
>> ecorePackage="statemachine2.ecore#/">
>> <genEnums ecoreEnum="statemachine2.ecore#//ActionKind">
>> <genEnumLiterals
>> ecoreEnumLiteral="statemachine2.ecore#//ActionKind/ENTRY"/ >
>> <genEnumLiterals
>> ecoreEnumLiteral="statemachine2.ecore#//ActionKind/EXIT"/>
>> </genEnums>
>> <genClasses image="false" ecoreClass="statemachine2.ecore#//Named">
>> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
>> statemachine2.ecore#//Named/name"/>
>> </genClasses>
>> <genClasses ecoreClass="statemachine2.ecore#//Machine"/>
>> <genClasses ecoreClass="statemachine2.ecore#//CompositeState">
>> <genFeatures property="None" children="true" createChild="true"
>> ecoreFeature="ecore:EReference
>> statemachine2.ecore#//CompositeState/states"/>
>> <genFeatures property="None" children="true" createChild="true"
>> ecoreFeature="ecore:EReference
>> statemachine2.ecore#//CompositeState/transitions"/>
>> </genClasses>
>> <genClasses image="false"
>> ecoreClass="statemachine2.ecore#//AbstractState">
>> <genFeatures notify="false" createChild="false"
>> propertySortChoices="true" ecoreFeature="ecore:EReference
>> statemachine2.ecore#//AbstractState/inTransitions"/>
>> <genFeatures notify="false" createChild="false"
>> propertySortChoices="true" ecoreFeature="ecore:EReference
>> statemachine2.ecore#//AbstractState/outTransitions"/>
>> <genFeatures property="None" children="true" createChild="true"
>> ecoreFeature="ecore:EReference
>> statemachine2.ecore#//AbstractState/actions"/>
>> </genClasses>
>> <genClasses ecoreClass="statemachine2.ecore#//State"/>
>> <genClasses ecoreClass="statemachine2.ecore#//StartState"/>
>> <genClasses ecoreClass="statemachine2.ecore#//StopState"/>
>> <genClasses ecoreClass="statemachine2.ecore#//Transition">
>> <genFeatures notify="false" createChild="false"
>> propertySortChoices="true" ecoreFeature="ecore:EReference
>> statemachine2.ecore#//Transition/from"/>
>> <genFeatures notify="false" createChild="false"
>> propertySortChoices="true" ecoreFeature="ecore:EReference
>> statemachine2.ecore#//Transition/to"/>
>> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
>> statemachine2.ecore#//Transition/event"/>
>> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
>> statemachine2.ecore#//Transition/guard"/>
>> </genClasses>
>> <genClasses ecoreClass="statemachine2.ecore#//Action">
>> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute
>> statemachine2.ecore#//Action/kind"/>
>> </genClasses>
>> </genPackages>
>> </genmodel:GenModel>
>>
>
>
> ------------------------------------------------------------ --------------------
>
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <gmfgraph:Canvas xmi:version="2.0"
>> xmlns:xmi="http://www.omg.org/XMI"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:gmfgraph="http://www.eclipse.org/gmf/2005/GraphicalDefinition"
>> name="statemachine2">
>> <figures
>> name="Default">
>> <figures
>> xsi:type="gmfgraph:Rectangle"
>> referencingElements="State ActionCompartment"
>> name="StateFigure">
>> <children
>> xsi:type="gmfgraph:Label"
>> referencingElements="StateNameDiagramLabel"
>> name="StateNameLabel"
>> text="&lt;...>"/>
>> <backgroundColor
>> xsi:type="gmfgraph:ConstantColor"
>> value="lightGray"/>
>> </figures>
>> <figures
>> xsi:type="gmfgraph:PolylineConnection"
>> referencingElements="Transition"
>> name="TransitionFigure">
>> <children
>> xsi:type="gmfgraph:Label"
>> referencingElements="TransitionDiagramLabel"
>> name="TransitionLabel"
>> text="&lt;...>"/>
>> <children
>> xsi:type="gmfgraph:PolylineDecoration"
>> name="RE">
>> <backgroundColor
>> xsi:type="gmfgraph:RGBColor"
>> green="128"/>
>> <location/>
>> <size
>> y="1"/>
>> <template
>> x="-1"
>> y="1"/>
>> <template
>> x="-1"
>> y="-1"/>
>> <template
>> y="-1"/>
>> <template/>
>> </children>
>> <backgroundColor
>> xsi:type="gmfgraph:ConstantColor"
>> value="darkGray"/>
>> </figures>
>> <figures
>> xsi:type="gmfgraph:Ellipse"
>> name="StopStateEllipse"
>> lineWidth="2">
>> <children
>> xsi:type="gmfgraph:Ellipse"
>> name="StopStateFigure"
>> lineWidth="2">
>> <backgroundColor
>> xsi:type="gmfgraph:RGBColor"/>
>> </children>
>> <backgroundColor
>> xsi:type="gmfgraph:RGBColor"/>
>> </figures>
>> <figures
>> xsi:type="gmfgraph:Rectangle"
>> referencingElements="CompositeState SubStateCompartment"
>> name="CompositeStateFigure">
>> <children
>> xsi:type="gmfgraph:Label"
>> name="CompositeNameLabel"
>> text="&lt;Huzifaki>">
>> <backgroundColor
>> xsi:type="gmfgraph:ConstantColor"
>> value="black"/>
>> </children>
>> <backgroundColor
>> xsi:type="gmfgraph:ConstantColor"
>> value="lightGray"/>
>> </figures>
>> <figures
>> xsi:type="gmfgraph:Rectangle"
>> referencingElements="Action"
>> name="ActionFigure">
>> <children
>> xsi:type="gmfgraph:Label"
>> referencingElements="ActionDiagramLabel"
>> name="ActionLabel"
>> text="&lt;...>"/>
>> </figures>
>> <figures
>> xsi:type="gmfgraph:Rectangle"
>> referencingElements="StartState"
>> name="StartStateRectangle">
>> <layout
>> xsi:type="gmfgraph:BorderLayout"/>
>> <children
>> xsi:type="gmfgraph:Ellipse"
>> name="StartStateEllipse"
>> lineWidth="2">
>> <layoutData
>> xsi:type="gmfgraph:BorderLayoutData"/>
>> <backgroundColor
>> xsi:type="gmfgraph:RGBColor"/>
>> </children>
>> <children
>> xsi:type="gmfgraph:Label"
>> name="StartStateNameLabel"
>> text="StartState">
>> <layoutData
>> xsi:type="gmfgraph:BorderLayoutData"
>> alignment="END"
>> vertical="true"/>
>> </children>
>> </figures>
>> <figures
>> xsi:type="gmfgraph:RoundedRectangle"
>> referencingElements="StopState"
>> name="StopStateRectangle">
>> <layout
>> xsi:type="gmfgraph:BorderLayout"/>
>> <children
>> xsi:type="gmfgraph:Label"
>> referencingElements="StopStateDiagramLabel"
>> name="StopStateNameLabel"
>> text="StopState">
>> <layoutData
>> xsi:type="gmfgraph:BorderLayoutData"
>> alignment="END"
>> vertical="true"/>
>> </children>
>> <children
>> xsi:type="gmfgraph:Ellipse"
>> name="outerEllipse">
>> <layoutData
>> xsi:type="gmfgraph:BorderLayoutData"/>
>> <layout
>> xsi:type="gmfgraph:BorderLayout"/>
>> <children
>> xsi:type="gmfgraph:Ellipse"
>> name="innerEllipse"
>> xorFill="true">
>> <layoutData
>> xsi:type="gmfgraph:BorderLayoutData"/>
>> <backgroundColor
>> xsi:type="gmfgraph:ConstantColor"
>> value="black"/>
>> </children>
>> <maximumSize
>> dx="80"
>> dy="80"/>
>> <minimumSize
>> dx="60"
>> dy="60"/>
>> <preferredSize
>> dx="60"
>> dy="60"/>
>> <border
>> xsi:type="gmfgraph:MarginBorder">
>> <insets
>> top="5"
>> left="5"
>> bottom="5"
>> right="5"/>
>> </border>
>> </children>
>> </figures>
>> </figures>
>> <nodes
>> name="State"
>> figure="StateFigure"/>
>> <nodes
>> name="StartState"
>> figure="StartStateRectangle"/>
>> <nodes
>> name="StopState"
>> figure="StopStateRectangle"/>
>> <nodes
>> name="CompositeState"
>> figure="CompositeStateFigure"/>
>> <nodes
>> name="Action"
>> figure="ActionFigure"/>
>> <connections
>> name="Transition"
>> figure="TransitionFigure"/>
>> <compartments
>> name="SubStateCompartment"
>> figure="CompositeStateFigure"/>
>> <compartments
>> name="ActionCompartment"
>> figure="StateFigure"/>
>> <labels
>> name="StateNameDiagramLabel"
>> figure="StateNameLabel"/>
>> <labels
>> name="TransitionDiagramLabel"
>> figure="TransitionLabel"/>
>> <labels
>> name="ActionDiagramLabel"
>> figure="ActionLabel"/>
>> <labels
>> name="StopStateDiagramLabel"
>> figure="StopStateNameLabel"/>
>> </gmfgraph:Canvas>
>>
>
>
> ------------------------------------------------------------ --------------------
>
>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <gmftool:ToolRegistry xmi:version="2.0"
>> xmlns:xmi="http://www.omg.org/XMI"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition">
>> <palette>
>> <tools
>> xsi:type="gmftool:ToolGroup"
>> title="States">
>> <tools
>> xsi:type="gmftool:CreationTool"
>> title="State"
>> description="Create new State">
>> <smallIcon
>> xsi:type="gmftool:BundleImage"
>> path="platform:/plugin/com.eads.statemachine/icons/state.gif "/>
>> </tools>
>> <tools
>> xsi:type="gmftool:CreationTool"
>> title="StartState"
>> description="Create new StartState">
>> <smallIcon
>> xsi:type="gmftool:BundleImage"
>> path="platform:/plugin/com.eads.statemachine/icons/start.gif "/>
>> </tools>
>> <tools
>> xsi:type="gmftool:PaletteSeparator"/>
>> <tools
>> xsi:type="gmftool:CreationTool"
>> title="StopState"
>> description="Create new StopState">
>> <smallIcon
>> xsi:type="gmftool:BundleImage"
>> path="platform:/plugin/com.eads.statemachine/icons/stop.gif "/>
>> </tools>
>> <tools
>> xsi:type="gmftool:CreationTool"
>> title="CompositeState"
>> description="Create new CompositeState">
>> <smallIcon
>> xsi:type="gmftool:BundleImage"
>>
>> path="platform:/plugin/com.eads.statemachine/icons/compstate.gif "/>
>> </tools>
>> </tools>
>> <tools
>> xsi:type="gmftool:CreationTool"
>> title="Transition"
>> description="Create new Transition">
>> <smallIcon
>> xsi:type="gmftool:BundleImage"
>>
>> path="platform:/plugin/com.eads.statemachine/icons/transition.gif "/>
>> </tools>
>> <tools
>> xsi:type="gmftool:CreationTool"
>> title="Action"
>> description="Create new Action">
>> <smallIcon
>> xsi:type="gmftool:BundleImage"
>> path="platform:/plugin/com.eads.statemachine/icons/action.gif "/>
>> </tools>
>> </palette>
>> </gmftool:ToolRegistry>
>>
>
>
> ------------------------------------------------------------ --------------------
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <gmfgen:GenEditorGenerator xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:gmfgen="http://www.eclipse.org/gmf/2005/GenModel">
> <diagram
> visualID="1000"
> editPartClassName="MachineEditPart"
> itemSemanticEditPolicyClassName="MachineItemSemanticEditPolicy "
> notationViewFactoryClassName="MachineViewFactory"
> iconProviderPriority="Low"
> canonicalEditPolicyClassName="MachineCanonicalEditPolicy">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Diagram "/>
> <elementType
> xsi:type="gmfgen:MetamodelType"
> editHelperClassName="MachineEditHelper"/>
> <viewmap
> xsi:type="gmfgen:FigureViewmap"
> figureQualifiedClassName="org.eclipse.draw2d.FreeformLayer"/ >
> <domainDiagramElement
> href="model/statemachine2.genmodel#//statemachine2/Machine"/ >
> <childNodes
> visualID="3001"
> editPartClassName="ActionEditPart"
> itemSemanticEditPolicyClassName="ActionItemSemanticEditPolicy "
> notationViewFactoryClassName="ActionViewFactory"
> canonicalEditPolicyClassName="ActionCanonicalEditPolicy"
> graphicalNodeEditPolicyClassName="ActionGraphicalNodeEditPolicy "
> containers="//@diagram/@compartments.0 //@diagram/@compartments.3">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <elementType
> xsi:type="gmfgen:MetamodelType"
> editHelperClassName="ActionEditHelper"/>
> <viewmap
> xsi:type="gmfgen:InnerClassViewmap"
> className="ActionFigure"
> classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
> @generated&#xD;&#xA; */&#xD;&#xA;public class ActionFigure extends
> org.eclipse.draw2d.RectangleFigure
> {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public ActionFigure()
> {&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;&#x9;createContents();&#xD;&#xA;&#x9; }&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;& #x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> fig_0 = new
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;&lt;... > &quot;);&#xD;&#xA;&#xD;&#xA;&#xD;&am p;#xA;&#xD;&#xA;&#x9;&#x9;setFigureActionLab el(fig_0);&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#x9;&#x9;Object
> layData0 = null;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;t his.add(fig_0,
> layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fActionLabel;
> &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> getFigureActionLabel() {&#xD;&#xA;&#x9;&#x9;return
> fActionLabel;&#xD;&#xA;&#x9;}&#xD;&#xA;& amp;#x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> setFigureActionLabel(org.eclipse.gmf.runtime.draw2d.ui.figur es.WrapLabel
> fig){&#xD;&#xA;&#x9;&#x9;fActionLabel =
> fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
> myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
> @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
> useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
> myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
> setUseLocalCoordinates(boolean useLocalCoordinates)
> {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
> useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA; ">
> <requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
> <requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
> </viewmap>
> <modelFacet>
> <metaClass
> href="model/statemachine2.genmodel#//statemachine2/Action"/ >
> <containmentMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/AbstractState/a ctions "/>
> <childMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/AbstractState/a ctions "/>
> </modelFacet>
> <labels
> visualID="5001"
> editPartClassName="ActionKindNameEditPart"
> itemSemanticEditPolicyClassName="ActionKindNameItemSemanticEditPolicy "
> notationViewFactoryClassName="ActionKindNameViewFactory"
> elementIcon="true">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <viewmap
> xsi:type="gmfgen:ParentAssignedViewmap"
> getterName="getFigureActionLabel"
> figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel "/>
> <modelFacet
> xsi:type="gmfgen:CompositeFeatureLabelModelFacet"
> viewPattern="{0}/{1}"
> editPattern="{0}/{1}">
> <metaFeatures
> href="model/statemachine2.genmodel#//statemachine2/Action/kind "/>
> <metaFeatures
> href="model/statemachine2.genmodel#//statemachine2/Named/name "/>
> </modelFacet>
> </labels>
> </childNodes>
> <childNodes
> visualID="3002"
> editPartClassName="State2EditPart"
> itemSemanticEditPolicyClassName="State2ItemSemanticEditPolicy "
> notationViewFactoryClassName="State2ViewFactory"
> canonicalEditPolicyClassName="State2CanonicalEditPolicy"
> compartments="//@diagram/@compartments.3"
> graphicalNodeEditPolicyClassName="State2GraphicalNodeEditPolicy "
> containers="//@diagram/@compartments.2 //@diagram/@compartments.5">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <elementType
> xsi:type="gmfgen:SpecializationType"
> metamodelType="//@diagram/@topLevelNodes.0/@elementType"
> editHelperAdviceClassName="StateEditHelperAdvice"/>
> <viewmap
> xsi:type="gmfgen:InnerClassViewmap"
> className="StateFigure"
> classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
> @generated&#xD;&#xA; */&#xD;&#xA;public class StateFigure extends
> org.eclipse.draw2d.RectangleFigure
> {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public StateFigure()
> {&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;&#x9;this.setBackgroundColor(org.eclipse.draw2d.C olorConstants.lightGray&#xD;&#xA;&#xD;&#xA;) ;&#xD;&#xA;&#x9;&#x9;createContents();&# xD;&#xA;&#x9;}&#xD;&#xA;&#xD;&#xA;&a mp;#xD;&#xA;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> fig_0 = new
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;&lt;... > &quot;);&#xD;&#xA;&#xD;&#xA;&#xD;&am p;#xA;&#xD;&#xA;&#x9;&#x9;setFigureStateName Label(fig_0);&#xD;&#xA;&#x9;&#x9;&#xD;&a mp;#xA;&#x9;&#x9;Object
> layData0 = null;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;t his.add(fig_0,
> layData0);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fStateNameLabel;
> &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> getFigureStateNameLabel() {&#xD;&#xA;&#x9;&#x9;return
> fStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&#x A;&#x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;& amp;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> setFigureStateNameLabel(org.eclipse.gmf.runtime.draw2d.ui.fi gures.WrapLabel
> fig){&#xD;&#xA;&#x9;&#x9;fStateNameLabel =
> fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
> myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
> @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
> useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
> myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
> setUseLocalCoordinates(boolean useLocalCoordinates)
> {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
> useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA; ">
> <attributes
> xsi:type="gmfgen:StyleAttributes"
> fixedBackground="true"/>
> <requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
> <requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
> </viewmap>
> <modelFacet>
> <metaClass
> href="model/statemachine2.genmodel#//statemachine2/State"/ >
> <containmentMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
> <childMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
> </modelFacet>
> <labels
> visualID="5004"
> editPartClassName="StateName2EditPart"
> itemSemanticEditPolicyClassName="StateName2ItemSemanticEditPolicy "
> notationViewFactoryClassName="StateName2ViewFactory"
> elementIcon="true">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <viewmap
> xsi:type="gmfgen:ParentAssignedViewmap"
> getterName="getFigureStateNameLabel"
> figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel "/>
> <modelFacet
> xsi:type="gmfgen:FeatureLabelModelFacet">
> <metaFeature
> href="model/statemachine2.genmodel#//statemachine2/Named/name "/>
> </modelFacet>
> </labels>
> </childNodes>
> <childNodes
> visualID="3003"
> editPartClassName="StartState2EditPart"
> itemSemanticEditPolicyClassName="StartState2ItemSemanticEditPolicy "
> notationViewFactoryClassName="StartState2ViewFactory"
> canonicalEditPolicyClassName="StartState2CanonicalEditPolicy "
> graphicalNodeEditPolicyClassName="StartState2GraphicalNodeEditPolicy "
> containers="//@diagram/@compartments.2 //@diagram/@compartments.5">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <elementType
> xsi:type="gmfgen:SpecializationType"
> metamodelType="//@diagram/@topLevelNodes.2/@elementType"
> editHelperAdviceClassName="StartStateEditHelperAdvice"/>
> <viewmap
> xsi:type="gmfgen:InnerClassViewmap"
> className="StartStateRectangle"
> classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
> @generated&#xD;&#xA; */&#xD;&#xA;public class StartStateRectangle extends
> org.eclipse.draw2d.RectangleFigure
> {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public StartStateRectangle()
> {&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#x9;&#x9;org.eclipse.draw2d.BorderLayout
> myGenLayoutManager = new
> org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& #x9;&#x9;this.setLayoutManager(myGenLayoutManager);& #xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#xD;&a mp;#xA;&#x9;&#x9;createContents();&#xD;&#xA; &#x9;}&#xD;&#xA;&#xD;&#xA;&#xD;& #xA;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.draw2d.Ellipse fig_0 = new
> org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x9;fig_0.setLineWidth(2);&#xD;&# xA;&#x9;&#x9;fig_0.setBackgroundColor(STARTSTATEELLI PSE_BACK&#xD;&#xA;&#xD;&#xA;);&#xD;& #xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#x9;&#x9;setFigureStartStateEllipse(fig_0);&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#xA;&#x9;Object
> layData0 =
> org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_0,
> layData0);&#xD;&#xA;&#x9;&#x9;org.eclipse.gm f.runtime.draw2d.ui.figures.WrapLabel
> fig_1 = new
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_1.setText(&quot;StartState&quot;);&a mp;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD ;&#xA;&#x9;&#x9;setFigureStartStateNameLabel(fig _1);&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&a mp;#x9;Object
> layData1 =
> org.eclipse.draw2d.BorderLayout.BOTTOM;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_1,
> layData1);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
> org.eclipse.draw2d.Ellipse fStartStateEllipse;
> &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public org.eclipse.draw2d.Ellipse
> getFigureStartStateEllipse() {&#xD;&#xA;&#x9;&#x9;return
> fStartStateEllipse;&#xD;&#xA;&#x9;}&#xD;& ;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;&#x A;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> setFigureStartStateEllipse(org.eclipse.draw2d.Ellipse
> fig){&#xD;&#xA;&#x9;&#x9;fStartStateEllipse =
> fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#xA;&#x9;/**& ;#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fStartStateNameLabel;
> &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> getFigureStartStateNameLabel() {&#xD;&#xA;&#x9;&#x9;return
> fStartStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&a mp;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;& #xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> setFigureStartStateNameLabel(org.eclipse.gmf.runtime.draw2d. ui.figures.WrapLabel
> fig){&#xD;&#xA;&#x9;&#x9;fStartStateNameLabe l =
> fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
> myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
> @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
> useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
> myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
> setUseLocalCoordinates(boolean useLocalCoordinates)
> {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
> useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA;&#x9;&#xD;& #xA;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;public static final
> org.eclipse.swt.graphics.Color STARTSTATEELLIPSE_BACK = new
> org.eclipse.swt.graphics.Color(null, 0, 0, 0);&#xD;&#xA;">
> <requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
> <requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
> </viewmap>
> <modelFacet>
> <metaClass
> href="model/statemachine2.genmodel#//statemachine2/StartState "/>
> <containmentMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
> <childMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
> </modelFacet>
> </childNodes>
> <childNodes
> visualID="3004"
> editPartClassName="StopState2EditPart"
> itemSemanticEditPolicyClassName="StopState2ItemSemanticEditPolicy "
> notationViewFactoryClassName="StopState2ViewFactory"
> canonicalEditPolicyClassName="StopState2CanonicalEditPolicy "
> graphicalNodeEditPolicyClassName="StopState2GraphicalNodeEditPolicy "
> containers="//@diagram/@compartments.2 //@diagram/@compartments.5">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <elementType
> xsi:type="gmfgen:SpecializationType"
>
> metamodelType="//@diagram/@topLevelNodes.1/@elementType"
> editHelperAdviceClassName="StopStateEditHelperAdvice"/>
> <viewmap
> xsi:type="gmfgen:InnerClassViewmap"
> className="StopStateRectangle"
> classBody="&#xD;&#xA;&#xD;&#xA;/**&#xD;&#xA; *
> @generated&#xD;&#xA; */&#xD;&#xA;public class StopStateRectangle extends
> org.eclipse.draw2d.RoundedRectangle
> {&#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&a mp;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public StopStateRectangle()
> {&#x9;&#xD;&#xA;&#x9;&#x9;&#xD;& #xA;&#x9;&#x9;org.eclipse.draw2d.BorderLayout
> myGenLayoutManager = new
> org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& #x9;&#x9;this.setLayoutManager(myGenLayoutManager);& #xD;&#xA;&#xD;&#xA;&#x9;&#x9;&#xD;&a mp;#xA;this.setCornerDimensions(new
> org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(8) ,
> getMapMode().DPtoLP(8)));&#xD;&#xA;&#xD;&#xA ;&#x9;&#x9;createContents();&#xD;&#xA;&# x9;}&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> createContents(){&#xD;&#xA;&#x9;&#x9;org.ecl ipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> fig_0 = new
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel();&# xD;&#xA;fig_0.setText(&quot;StopState&quot;);&am p;#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD; &#xA;&#x9;&#x9;setFigureStopStateNameLabel(fig_0 );&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& ;#x9;Object
> layData0 =
> org.eclipse.draw2d.BorderLayout.BOTTOM;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_0,
> layData0);&#xD;&#xA;&#x9;&#x9;org.eclipse.dr aw2d.Ellipse fig_1 = new
> org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x9;fig_1.setPreferredSize(getMapMode().D PtoLP(60),
> getMapMode().DPtoLP(60));&#xD;&#xA;&#x9;&#x9 ;fig_1.setMaximumSize(new
> org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(80 ),
> getMapMode().DPtoLP(80)));&#xD;&#xA;&#x9;&#x 9;fig_1.setMinimumSize(new
> org.eclipse.draw2d.geometry.Dimension(getMapMode().DPtoLP(60 ),
> getMapMode().DPtoLP(60)));&#xD;&#xA;&#x9;&#x 9;fig_1.setBorder(&#x9;&#xD;&#xA;new
> org.eclipse.draw2d.MarginBorder(getMapMode().DPtoLP(5),
> getMapMode().DPtoLP(5), getMapMode().DPtoLP(5),
> getMapMode().DPtoLP(5))&#xD;&#xA;);&#xD;&#xA ;&#xD;&#xA;&#x9;&#x9;org.eclipse.draw2d.Bord erLayout
> layouter1 = new
> org.eclipse.draw2d.BorderLayout();&#xD;&#xA;&#x9 ;&#x9;&#xD;&#xA;&#x9;&#xD;&#xA;& #x9;&#x9;fig_1.setLayoutManager(layouter1);&#xD;& ;#xA;&#xD;&#xA;&#xD;&#xA;&#x9;&#x9;s etFigureouterEllipse(fig_1);&#xD;&#xA;&#x9;& #x9;&#xD;&#xA;&#x9;Object
> layData1 =
> org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;this.add(fig_1,
> layData1);&#xD;&#xA;&#x9;&#x9;org.eclipse.dr aw2d.Ellipse fig_2 = new
> org.eclipse.draw2d.Ellipse();&#xD;&#xA;&#xD;& ;#xA;&#x9;&#x9;fig_2.setFillXOR(true);&#xD;& #xA;&#x9;&#x9;fig_2.setBackgroundColor(org.eclipse.d raw2d.ColorConstants.black&#xD;&#xA;&#xD;&#x A;);&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&a mp;#xD;&#xA;&#x9;&#x9;&#xD;&#xA;&#x9 ;Object
> layData2 =
> org.eclipse.draw2d.BorderLayout.CENTER;&#xD;&#xA;&am p;#xD;&#xA;&#x9;&#x9;&#x9;&#xD;&#xA; &#xD;&#xA;&#x9;&#x9;fig_1.add(fig_2,
> layData2);&#xD;&#xA;&#x9;}&#xD;&#xA;& ;#x9;&#xD;&#xA;&#x9;&#x9;&#xD;&#xA;& amp;#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
> org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel fStopStateNameLabel;
> &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel
> getFigureStopStateNameLabel() {&#xD;&#xA;&#x9;&#x9;return
> fStopStateNameLabel;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#x9;/**&#xD;&# xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> setFigureStopStateNameLabel(org.eclipse.gmf.runtime.draw2d.u i.figures.WrapLabel
> fig){&#xD;&#xA;&#x9;&#x9;fStopStateNameLabel =
> fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#x9;&#x9;&#xD;&#xA;&#x9;/**& ;#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private
> org.eclipse.draw2d.Ellipse fOuterEllipse;
> &#xD;&#xA;&#xD;&#xA;&#x9;/**&#xD;&am p;#xA;&#x9; * @generated&#xD;&#xA;&#x9;
> */&#xD;&#xA;&#x9;public org.eclipse.draw2d.Ellipse getFigureOuterEllipse()
> {&#xD;&#xA;&#x9;&#x9;return
> fOuterEllipse;&#xD;&#xA;&#x9;}&#xD;&#xA; &#x9;&#xD;&#xA;&#x9;/**&#xD;&#xA;&am p;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private void
> setFigureouterEllipse(org.eclipse.draw2d.Ellipse
> fig){&#xD;&#xA;&#x9;&#x9;fOuterEllipse =
> fig;&#xD;&#xA;&#x9;}&#xD;&#xA;&#xD;& amp;#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#x A;&#x9;/**&#xD;&#xA;&#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;private boolean
> myUseLocalCoordinates = false;&#xD;&#xA;&#xD;&#xA;&#x9;/**&# xD;&#xA;&#x9; *
> @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected boolean
> useLocalCoordinates() {&#xD;&#xA;&#x9;&#x9;return
> myUseLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;& amp;#xA;&#xD;&#xA;&#x9;/**&#xD;&#xA;& ;#x9;
> * @generated&#xD;&#xA;&#x9; */&#xD;&#xA;&#x9;protected void
> setUseLocalCoordinates(boolean useLocalCoordinates)
> {&#xD;&#xA;&#x9;&#x9;myUseLocalCoordinates =
> useLocalCoordinates;&#xD;&#xA;&#x9;}&#xD;&am p;#xA;&#x9;&#xD;&#xA;&#xD;&#xA;}&#xD ;&#xA;&#x9;&#xD;&#xA; ">
> <requiredPluginIDs>org.eclipse.draw2d</requiredPluginIDs>
> <requiredPluginIDs>org.eclipse.gmf.runtime.draw2d.ui</requiredPluginIDs >
> </viewmap>
> <modelFacet>
> <metaClass
> href="model/statemachine2.genmodel#//statemachine2/StopState "/>
> <containmentMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
> <childMetaFeature
> href=" model/statemachine2.genmodel#//statemachine2/CompositeState/ states "/>
> </modelFacet>
> <labels
> visualID="5005"
> editPartClassName="StopStateName2EditPart"
> itemSemanticEditPolicyClassName="StopStateName2ItemSemanticEditPolicy "
> notationViewFactoryClassName="StopStateName2ViewFactory"
> elementIcon="true">
> <diagramRunTimeClass
> href=" ../../plugin/org.eclipse.gmf.runtime.notation/model/notation .genmodel#//notation/Node "/>
> <viewmap
> xsi:type="gmfgen:ParentAssignedViewmap"
> getterName="getFigureStopStateNameLabel"
> figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrapLabel "/>
> <modelFacet
> xsi:type="gmfgen:FeatureLabelModelFacet">
> <metaFeature
> href="model/statemachine2.genmodel#//statemachine2/Named/name "/>
> </modelFacet>
> </labels>
> </childNodes>
> <childNodes
> visualID="3005"
> editPartClassName="CompositeState2EditPart"
> itemSemanticEditPolicyClassName="CompositeState2ItemSemanticEditPolicy "
> notationViewFactoryClassName="CompositeState2ViewFactory"
> canonicalEditPolicyClassName="CompositeState2CanonicalEditPolicy "
> compartments="//@diagram/@compartments.4 //@diagram/@compartments.5"
> graphicalNodeEditPolicyClassName="CompositeState2GraphicalNodeEditPolicy "
> containers="//@diagram/@compartments.5 //@diagram/@compartments.2"
Previous Topic:figure label text enum values
Next Topic:"Extending" the generated Property view
Goto Forum:
  


Current Time: Sat May 03 01:20:39 EDT 2025

Powered by FUDForum. Page generated in 0.04350 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top