| <?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/2009/GenModel" |
| diagramFileExtension="toed"> |
| <diagram |
| visualID="1000" |
| editPartClassName="AllHolderEditPart" |
| itemSemanticEditPolicyClassName="AllHolderItemSemanticEditPolicy" |
| canonicalEditPolicyClassName="AllHolderCanonicalEditPolicy" |
| iconProviderPriority="Low" |
| validationProviderPriority="Low"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/> |
| <elementType |
| xsi:type="gmfgen:MetamodelType" |
| editHelperClassName="AllHolderEditHelper"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#ocl-labels"/> |
| </viewmap> |
| <domainDiagramElement |
| href="toe.genmodel#//toe/AllHolder"/> |
| <childNodes |
| visualID="3001" |
| editPartClassName="Employee2EditPart" |
| itemSemanticEditPolicyClassName="Employee2ItemSemanticEditPolicy" |
| notationViewFactoryClassName="EmployeeViewFactory" |
| canonicalEditPolicyClassName="Employee2CanonicalEditPolicy" |
| graphicalNodeEditPolicyClassName="Employee2GraphicalNodeEditPolicy" |
| createCommandClassName="Employee2CreateCommand" |
| containers="//@diagram/@compartments.0 //@diagram/@compartments.1"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <elementType |
| xsi:type="gmfgen:SpecializationType" |
| metamodelType="//@diagram/@topLevelNodes.0/@elementType"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedBackground="true"/> |
| <figureModel |
| href="toe.gmfgraph#Employee"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinCounter3001Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinCounter3001Policy" |
| name="EmployeePinCounter" |
| pinKind="CustomPin" |
| operationName="getInnerEmployeeFigure().setCounter" |
| operationType="Integer" |
| oclExpression="self.projects->size()"/> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinVisible3001Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinVisible3001Policy" |
| name="EmployeePinVisible" |
| pinKind="VisiblePin" |
| operationName="getInnerEmployeeFigure().setVisible" |
| operationType="Boolean" |
| oclExpression="self.projects->size() <> 0"/> |
| <modelFacet |
| modelElementSelector="//@expressionProviders/@providers.0/@expressions.0"> |
| <metaClass |
| href="toe.genmodel#//toe/Employee"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/Department/employees"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/Department/employees"/> |
| </modelFacet> |
| <labels |
| xsi:type="gmfgen:GenExternalNodeLabel" |
| visualID="5002" |
| editPartClassName="EmployeeName2EditPart" |
| itemSemanticEditPolicyClassName="EmployeeName2ItemSemanticEditPolicy" |
| notationViewFactoryClassName="EmployeeNameViewFactory" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Employee_name"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLabelModelFacet" |
| parser="//@labelParsers/@implementations.0"> |
| <metaFeatures |
| href="toe.genmodel#//toe/Employee/name"/> |
| <editableMetaFeatures |
| href="toe.genmodel#//toe/Employee/name"/> |
| </modelFacet> |
| </labels> |
| </childNodes> |
| <childNodes |
| visualID="3002" |
| editPartClassName="Department2EditPart" |
| itemSemanticEditPolicyClassName="Department2ItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentViewFactory" |
| canonicalEditPolicyClassName="Department2CanonicalEditPolicy" |
| compartments="//@diagram/@compartments.1" |
| graphicalNodeEditPolicyClassName="Department2GraphicalNodeEditPolicy" |
| createCommandClassName="Department2CreateCommand" |
| containers="//@diagram/@compartments.1 //@diagram/@compartments.0"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <elementType |
| xsi:type="gmfgen:SpecializationType" |
| metamodelType="//@diagram/@topLevelNodes.1/@elementType"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.DepartmentPinForeground3002Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.DepartmentPinForeground3002Policy" |
| name="DepartmentPinForeground" |
| pinKind="ColorPin" |
| operationName="setForegroundColor" |
| operationType="Tuple(red:Integer, green:Integer, blue:Integer)" |
| oclExpression="--IA
let totalSalary : Integer = self.employees->iterate(
e: Employee; sum : Integer = 0 | 
sum + e.salary
) in 
if totalSalary > 10000 
then Tuple {red: Integer = 255, green: Integer = 0, blue: Integer = 0} 
else Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} 
endif"/> |
| <modelFacet> |
| <metaClass |
| href="toe.genmodel#//toe/Department"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/Department/subDepartments"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/Department/subDepartments"/> |
| </modelFacet> |
| <labels |
| visualID="5003" |
| editPartClassName="DepartmentName2EditPart" |
| itemSemanticEditPolicyClassName="DepartmentName2ItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentNameViewFactory" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_name"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLabelModelFacet" |
| parser="//@labelParsers/@implementations.0"> |
| <metaFeatures |
| href="toe.genmodel#//toe/Department/name"/> |
| <editableMetaFeatures |
| href="toe.genmodel#//toe/Department/name"/> |
| </modelFacet> |
| </labels> |
| <labels |
| visualID="5004" |
| editPartClassName="WrappingLabel5EditPart" |
| itemSemanticEditPolicyClassName="WrappingLabel5ItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentLabelViewFactory" |
| readOnly="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_ocl_gmf"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:ExpressionLabelModelFacet" |
| parser="//@labelParsers/@implementations.1"/> |
| </labels> |
| <labels |
| visualID="5005" |
| editPartClassName="WrappingLabel6EditPart" |
| itemSemanticEditPolicyClassName="WrappingLabel6ItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentLabelViewFactory" |
| readOnly="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_ocl_ia"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:ExpressionLabelModelFacet" |
| parser="//@labelParsers/@implementations.2"/> |
| </labels> |
| </childNodes> |
| <topLevelNodes |
| visualID="2001" |
| editPartClassName="EmployeeEditPart" |
| itemSemanticEditPolicyClassName="EmployeeItemSemanticEditPolicy" |
| notationViewFactoryClassName="EmployeeViewFactory" |
| canonicalEditPolicyClassName="EmployeeCanonicalEditPolicy" |
| graphicalNodeEditPolicyClassName="EmployeeGraphicalNodeEditPolicy" |
| createCommandClassName="EmployeeCreateCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <elementType |
| xsi:type="gmfgen:MetamodelType" |
| editHelperClassName="EmployeeEditHelper"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedBackground="true"/> |
| <figureModel |
| href="toe.gmfgraph#Employee"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinCounter2001Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinCounter2001Policy" |
| name="EmployeePinCounter" |
| pinKind="CustomPin" |
| operationName="getInnerEmployeeFigure().setCounter" |
| operationType="Integer" |
| oclExpression="self.projects->size()"/> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinVisible2001Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.EmployeePinVisible2001Policy" |
| name="EmployeePinVisible" |
| pinKind="VisiblePin" |
| operationName="getInnerEmployeeFigure().setVisible" |
| operationType="Boolean" |
| oclExpression="self.projects->size() <> 0"/> |
| <modelFacet |
| modelElementSelector="//@expressionProviders/@providers.0/@expressions.0"> |
| <metaClass |
| href="toe.genmodel#//toe/Employee"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| </modelFacet> |
| <labels |
| xsi:type="gmfgen:GenExternalNodeLabel" |
| visualID="5001" |
| editPartClassName="EmployeeNameEditPart" |
| itemSemanticEditPolicyClassName="EmployeeNameItemSemanticEditPolicy" |
| notationViewFactoryClassName="EmployeeNameViewFactory" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Employee_name"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLabelModelFacet" |
| parser="//@labelParsers/@implementations.0"> |
| <metaFeatures |
| href="toe.genmodel#//toe/Employee/name"/> |
| <editableMetaFeatures |
| href="toe.genmodel#//toe/Employee/name"/> |
| </modelFacet> |
| </labels> |
| </topLevelNodes> |
| <topLevelNodes |
| visualID="2002" |
| editPartClassName="DepartmentEditPart" |
| itemSemanticEditPolicyClassName="DepartmentItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentViewFactory" |
| canonicalEditPolicyClassName="DepartmentCanonicalEditPolicy" |
| compartments="//@diagram/@compartments.0" |
| graphicalNodeEditPolicyClassName="DepartmentGraphicalNodeEditPolicy" |
| createCommandClassName="DepartmentCreateCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <elementType |
| xsi:type="gmfgen:MetamodelType" |
| editHelperClassName="DepartmentEditHelper"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.DepartmentPinForeground2002Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.DepartmentPinForeground2002Policy" |
| name="DepartmentPinForeground" |
| pinKind="ColorPin" |
| operationName="setForegroundColor" |
| operationType="Tuple(red:Integer, green:Integer, blue:Integer)" |
| oclExpression="--IA
let totalSalary : Integer = self.employees->iterate(
e: Employee; sum : Integer = 0 | 
sum + e.salary
) in 
if totalSalary > 10000 
then Tuple {red: Integer = 255, green: Integer = 0, blue: Integer = 0} 
else Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} 
endif"/> |
| <modelFacet> |
| <metaClass |
| href="toe.genmodel#//toe/Department"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| </modelFacet> |
| <labels |
| visualID="5006" |
| editPartClassName="DepartmentNameEditPart" |
| itemSemanticEditPolicyClassName="DepartmentNameItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentNameViewFactory" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_name"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLabelModelFacet" |
| parser="//@labelParsers/@implementations.0"> |
| <metaFeatures |
| href="toe.genmodel#//toe/Department/name"/> |
| <editableMetaFeatures |
| href="toe.genmodel#//toe/Department/name"/> |
| </modelFacet> |
| </labels> |
| <labels |
| visualID="5007" |
| editPartClassName="WrappingLabelEditPart" |
| itemSemanticEditPolicyClassName="WrappingLabelItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentLabelViewFactory" |
| readOnly="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_ocl_gmf"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:ExpressionLabelModelFacet" |
| parser="//@labelParsers/@implementations.3"/> |
| </labels> |
| <labels |
| visualID="5008" |
| editPartClassName="WrappingLabel2EditPart" |
| itemSemanticEditPolicyClassName="WrappingLabel2ItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentLabelViewFactory" |
| readOnly="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_ocl_ia"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:ExpressionLabelModelFacet" |
| parser="//@labelParsers/@implementations.4"/> |
| </labels> |
| </topLevelNodes> |
| <topLevelNodes |
| visualID="2003" |
| editPartClassName="ProjectEditPart" |
| itemSemanticEditPolicyClassName="ProjectItemSemanticEditPolicy" |
| notationViewFactoryClassName="ProjectViewFactory" |
| canonicalEditPolicyClassName="ProjectCanonicalEditPolicy" |
| graphicalNodeEditPolicyClassName="ProjectGraphicalNodeEditPolicy" |
| createCommandClassName="ProjectCreateCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <elementType |
| xsi:type="gmfgen:MetamodelType" |
| editHelperClassName="ProjectEditHelper"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedForeground="true"/> |
| <attributes |
| xsi:type="gmfgen:DefaultSizeAttributes" |
| width="400" |
| height="50"/> |
| <figureModel |
| href="toe.gmfgraph#Project"/> |
| </viewmap> |
| <modelFacet> |
| <metaClass |
| href="toe.genmodel#//toe/Project"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| </modelFacet> |
| <labels |
| visualID="5009" |
| editPartClassName="ProjectNameEditPart" |
| itemSemanticEditPolicyClassName="ProjectNameItemSemanticEditPolicy" |
| notationViewFactoryClassName="ProjectNameViewFactory" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedForeground="true"/> |
| <figureModel |
| href="toe.gmfgraph#Project_name"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLabelModelFacet" |
| parser="//@labelParsers/@implementations.0"> |
| <metaFeatures |
| href="toe.genmodel#//toe/Project/name"/> |
| <editableMetaFeatures |
| href="toe.genmodel#//toe/Project/name"/> |
| </modelFacet> |
| </labels> |
| <labels |
| visualID="5010" |
| editPartClassName="WrappingLabel3EditPart" |
| itemSemanticEditPolicyClassName="WrappingLabel3ItemSemanticEditPolicy" |
| notationViewFactoryClassName="ProjectLabelViewFactory" |
| readOnly="true" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedForeground="true"/> |
| <figureModel |
| href="toe.gmfgraph#Project_ocl_gmf"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:ExpressionLabelModelFacet" |
| parser="//@labelParsers/@implementations.5"/> |
| </labels> |
| <labels |
| visualID="5011" |
| editPartClassName="WrappingLabel4EditPart" |
| itemSemanticEditPolicyClassName="WrappingLabel4ItemSemanticEditPolicy" |
| notationViewFactoryClassName="ProjectLabelViewFactory" |
| readOnly="true" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedForeground="true"/> |
| <figureModel |
| href="toe.gmfgraph#Project_ocl_ia"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:ExpressionLabelModelFacet" |
| parser="//@labelParsers/@implementations.6"/> |
| </labels> |
| </topLevelNodes> |
| <topLevelNodes |
| visualID="2004" |
| editPartClassName="ManagerEditPart" |
| itemSemanticEditPolicyClassName="ManagerItemSemanticEditPolicy" |
| notationViewFactoryClassName="ManagerViewFactory" |
| canonicalEditPolicyClassName="ManagerCanonicalEditPolicy" |
| graphicalNodeEditPolicyClassName="ManagerGraphicalNodeEditPolicy" |
| createCommandClassName="ManagerCreateCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <elementType |
| xsi:type="gmfgen:MetamodelType" |
| editHelperClassName="ManagerEditHelper"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedForeground="true" |
| fixedBackground="true"/> |
| <figureModel |
| href="toe.gmfgraph#Manager"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.ManagerPinBackgroundRGB2004Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.ManagerPinBackgroundRGB2004Policy" |
| name="ManagerPinBackgroundRGB" |
| pinKind="CustomPin" |
| operationName="setBackgroundRGB" |
| operationType="Tuple(red:Integer, green:Integer, blue:Integer)" |
| oclExpression="if self.leads->size() = 0 
then Tuple {red: Integer = 0, green: Integer = 0, blue: Integer = 255} 
else Tuple {red: Integer = 255, green: Integer = 255, blue: Integer = 0} 
endif"/> |
| <modelFacet> |
| <metaClass |
| href="toe.genmodel#//toe/Manager"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| </modelFacet> |
| <labels |
| xsi:type="gmfgen:GenExternalNodeLabel" |
| visualID="5012" |
| editPartClassName="ManagerNameEditPart" |
| itemSemanticEditPolicyClassName="ManagerNameItemSemanticEditPolicy" |
| notationViewFactoryClassName="ManagerNameViewFactory" |
| elementIcon="true"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Manager_name"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLabelModelFacet" |
| parser="//@labelParsers/@implementations.0"> |
| <metaFeatures |
| href="toe.genmodel#//toe/Employee/name"/> |
| <editableMetaFeatures |
| href="toe.genmodel#//toe/Employee/name"/> |
| </modelFacet> |
| </labels> |
| </topLevelNodes> |
| <links |
| visualID="4001" |
| editPartClassName="ManagerManagedDepartmentEditPart" |
| itemSemanticEditPolicyClassName="ManagerManagedDepartmentItemSemanticEditPolicy" |
| notationViewFactoryClassName="ManagerManagedDepartmentViewFactory" |
| createCommandClassName="ManagerManagedDepartmentCreateCommand" |
| reorientCommandClassName="ManagerManagedDepartmentReorientCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> |
| <elementType |
| xsi:type="gmfgen:SpecializationType"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <attributes |
| xsi:type="gmfgen:StyleAttributes" |
| fixedForeground="true"/> |
| <figureModel |
| href="toe.gmfgraph#ManagesDepartment"/> |
| </viewmap> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLinkModelFacet"> |
| <metaFeature |
| href="toe.genmodel#//toe/Manager/managedDepartment"/> |
| </modelFacet> |
| </links> |
| <links |
| visualID="4002" |
| editPartClassName="ManagerLeadsEditPart" |
| itemSemanticEditPolicyClassName="ManagerLeadsItemSemanticEditPolicy" |
| notationViewFactoryClassName="ManagerLeadsViewFactory" |
| createCommandClassName="ManagerLeadsCreateCommand" |
| reorientCommandClassName="ManagerLeadsReorientCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> |
| <elementType |
| xsi:type="gmfgen:SpecializationType"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#LeadsProject"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.LeadsProjectConnectionPinForeground4002Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.LeadsProjectConnectionPinForeground4002Policy" |
| name="LeadsProjectConnectionPinForeground" |
| pinKind="ColorPin" |
| operationName="setForegroundColor" |
| operationType="Tuple(red:Integer, green:Integer, blue:Integer)" |
| oclExpression="if _src.leads->size() > 2
then Tuple {red: Integer = 255, green: Integer = 128, blue: Integer = 0} 
else Tuple {red: Integer = 255, green: Integer =0, blue: Integer = 0} 
endif"/> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.LeadsProjectConnectionPinLineWidth4002Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.LeadsProjectConnectionPinLineWidth4002Policy" |
| name="LeadsProjectConnectionPinLineWidth" |
| pinKind="CustomPin" |
| operationName="setLineWidth" |
| operationType="Integer" |
| oclExpression="--IA
if _src.leads->size() > 2
then 3
else 1
endif"/> |
| <modelFacet |
| xsi:type="gmfgen:FeatureLinkModelFacet"> |
| <metaFeature |
| href="toe.genmodel#//toe/Manager/leads"/> |
| </modelFacet> |
| </links> |
| <links |
| visualID="4003" |
| editPartClassName="ContributionEditPart" |
| itemSemanticEditPolicyClassName="ContributionItemSemanticEditPolicy" |
| notationViewFactoryClassName="ContributionViewFactory" |
| createCommandClassName="ContributionCreateCommand" |
| reorientCommandClassName="ContributionReorientCommand"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/> |
| <elementType |
| xsi:type="gmfgen:MetamodelType" |
| editHelperClassName="ContributionEditHelper"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Contribution"/> |
| </viewmap> |
| <behaviour |
| xsi:type="gmfgen:GenVisualEffect" |
| key="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.ContributionConnectionPinForeground4003Policy.KEY" |
| editPolicyQualifiedClassName="org.eclipse.gmf.examples.ocldriven.toe.diagram.edit.policies.ContributionConnectionPinForeground4003Policy" |
| name="ContributionConnectionPinForeground" |
| pinKind="ColorPin" |
| operationName="setForegroundColor" |
| operationType="Tuple(red:Integer, green:Integer, blue:Integer)" |
| oclExpression="if _src.contributions->size() > _dst.contributions->size()
then Tuple {red: Integer = 0, green: Integer = 255, blue: Integer = 0} 
else Tuple {red: Integer = 0, green: Integer =0, blue: Integer = 255} 
endif"/> |
| <modelFacet |
| xsi:type="gmfgen:TypeLinkModelFacet"> |
| <metaClass |
| href="toe.genmodel#//toe/Contribution"/> |
| <containmentMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| <childMetaFeature |
| href="toe.genmodel#//toe/AllHolder/all"/> |
| <sourceMetaFeature |
| href="toe.genmodel#//toe/Contribution/employee"/> |
| <targetMetaFeature |
| href="toe.genmodel#//toe/Contribution/project"/> |
| </modelFacet> |
| </links> |
| <compartments |
| visualID="7001" |
| editPartClassName="DepartmentDepartment_staffEditPart" |
| itemSemanticEditPolicyClassName="DepartmentDepartment_staffItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentDepartment_staffViewFactory" |
| canonicalEditPolicyClassName="DepartmentDepartment_staffCanonicalEditPolicy" |
| childNodes="//@diagram/@childNodes.0 //@diagram/@childNodes.1" |
| title="Department_staff" |
| canCollapse="false" |
| needsTitle="false" |
| node="//@diagram/@topLevelNodes.1" |
| listLayout="false"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_staff"/> |
| </viewmap> |
| </compartments> |
| <compartments |
| visualID="7002" |
| editPartClassName="DepartmentDepartment_staff2EditPart" |
| itemSemanticEditPolicyClassName="DepartmentDepartment_staff2ItemSemanticEditPolicy" |
| notationViewFactoryClassName="DepartmentDepartment_staffViewFactory" |
| canonicalEditPolicyClassName="DepartmentDepartment_staff2CanonicalEditPolicy" |
| childNodes="//@diagram/@childNodes.0 //@diagram/@childNodes.1" |
| title="Department_staff" |
| canCollapse="false" |
| needsTitle="false" |
| node="//@diagram/@childNodes.1" |
| listLayout="false"> |
| <diagramRunTimeClass |
| href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/> |
| <viewmap |
| xsi:type="gmfgen:ModeledViewmap"> |
| <figureModel |
| href="toe.gmfgraph#Department_staff"/> |
| </viewmap> |
| </compartments> |
| <palette> |
| <groups |
| title="Default" |
| description="Holds top-level non-container tools"> |
| <entries |
| xsi:type="gmfgen:ToolEntry" |
| title="Employee" |
| description="Employee" |
| genNodes="//@diagram/@topLevelNodes.0 //@diagram/@childNodes.0"/> |
| <entries |
| xsi:type="gmfgen:ToolEntry" |
| title="Department" |
| genNodes="//@diagram/@topLevelNodes.1 //@diagram/@childNodes.1"/> |
| <entries |
| xsi:type="gmfgen:ToolEntry" |
| title="Project" |
| description="Project" |
| genNodes="//@diagram/@topLevelNodes.2"/> |
| <entries |
| xsi:type="gmfgen:ToolEntry" |
| title="Manager" |
| description="Manager" |
| genNodes="//@diagram/@topLevelNodes.3"/> |
| <entries |
| xsi:type="gmfgen:ToolEntry" |
| title="Manager's Link" |
| description="Manages the Department or Leads the Project" |
| genLinks="//@diagram/@links.0 //@diagram/@links.1"/> |
| <entries |
| xsi:type="gmfgen:ToolEntry" |
| title="Contribution" |
| description="Contribution of an employee to a project" |
| genLinks="//@diagram/@links.2"/> |
| </groups> |
| </palette> |
| <preferencePages |
| xsi:type="gmfgen:GenStandardPreferencePage" |
| iD="org.eclipse.gmf.examples.ocldriven.diagram.general" |
| name="TOE Diagram"> |
| <children |
| xsi:type="gmfgen:GenStandardPreferencePage" |
| iD="org.eclipse.gmf.examples.ocldriven.diagram.appearance" |
| name="Appearance" |
| kind="Appearance"/> |
| <children |
| xsi:type="gmfgen:GenStandardPreferencePage" |
| iD="org.eclipse.gmf.examples.ocldriven.diagram.connections" |
| name="Connections" |
| kind="Connections"/> |
| <children |
| xsi:type="gmfgen:GenStandardPreferencePage" |
| iD="org.eclipse.gmf.examples.ocldriven.diagram.printing" |
| name="Printing" |
| kind="Printing"/> |
| <children |
| xsi:type="gmfgen:GenStandardPreferencePage" |
| iD="org.eclipse.gmf.examples.ocldriven.diagram.rulersAndGrid" |
| name="Rulers And Grid" |
| kind="RulersAndGrid"/> |
| </preferencePages> |
| </diagram> |
| <plugin> |
| <requiredPlugins>org.eclipse.gmf.tooling.runtime</requiredPlugins> |
| <requiredPlugins>org.eclipse.draw2d</requiredPlugins> |
| <requiredPlugins>org.eclipse.gmf.runtime.draw2d.ui</requiredPlugins> |
| </plugin> |
| <editor/> |
| <navigator> |
| <childReferences |
| child="//@diagram"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@topLevelNodes.0"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.1" |
| child="//@diagram/@childNodes.0"/> |
| <childReferences |
| parent="//@diagram/@childNodes.1" |
| child="//@diagram/@childNodes.0"/> |
| <childReferences |
| parent="//@diagram/@childNodes.1" |
| child="//@diagram/@childNodes.1"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.1" |
| child="//@diagram/@childNodes.1"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@topLevelNodes.1"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@topLevelNodes.2"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@topLevelNodes.3"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@links.0" |
| groupName="links" |
| groupIcon="icons/linksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.0" |
| child="//@diagram/@topLevelNodes.1" |
| referenceType="out_target" |
| groupName="target" |
| groupIcon="icons/linkTargetNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.1" |
| child="//@diagram/@links.0" |
| referenceType="in_source" |
| groupName="incoming links" |
| groupIcon="icons/incomingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.0" |
| child="//@diagram/@childNodes.1" |
| referenceType="out_target" |
| groupName="target" |
| groupIcon="icons/linkTargetNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@childNodes.1" |
| child="//@diagram/@links.0" |
| referenceType="in_source" |
| groupName="incoming links" |
| groupIcon="icons/incomingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.0" |
| child="//@diagram/@topLevelNodes.3" |
| referenceType="in_source" |
| groupName="source" |
| groupIcon="icons/linkSourceNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.3" |
| child="//@diagram/@links.0" |
| referenceType="out_target" |
| groupName="outgoing links" |
| groupIcon="icons/outgoingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@links.1" |
| groupName="links" |
| groupIcon="icons/linksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.1" |
| child="//@diagram/@topLevelNodes.2" |
| referenceType="out_target" |
| groupName="target" |
| groupIcon="icons/linkTargetNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.2" |
| child="//@diagram/@links.1" |
| referenceType="in_source" |
| groupName="incoming links" |
| groupIcon="icons/incomingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.1" |
| child="//@diagram/@topLevelNodes.3" |
| referenceType="in_source" |
| groupName="source" |
| groupIcon="icons/linkSourceNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.3" |
| child="//@diagram/@links.1" |
| referenceType="out_target" |
| groupName="outgoing links" |
| groupIcon="icons/outgoingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram" |
| child="//@diagram/@links.2" |
| groupName="links" |
| groupIcon="icons/linksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.2" |
| child="//@diagram/@topLevelNodes.2" |
| referenceType="out_target" |
| groupName="target" |
| groupIcon="icons/linkTargetNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.2" |
| child="//@diagram/@links.2" |
| referenceType="in_source" |
| groupName="incoming links" |
| groupIcon="icons/incomingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.2" |
| child="//@diagram/@topLevelNodes.0" |
| referenceType="in_source" |
| groupName="source" |
| groupIcon="icons/linkSourceNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.0" |
| child="//@diagram/@links.2" |
| referenceType="out_target" |
| groupName="outgoing links" |
| groupIcon="icons/outgoingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.2" |
| child="//@diagram/@topLevelNodes.3" |
| referenceType="in_source" |
| groupName="source" |
| groupIcon="icons/linkSourceNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@topLevelNodes.3" |
| child="//@diagram/@links.2" |
| referenceType="out_target" |
| groupName="outgoing links" |
| groupIcon="icons/outgoingLinksNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@links.2" |
| child="//@diagram/@childNodes.0" |
| referenceType="in_source" |
| groupName="source" |
| groupIcon="icons/linkSourceNavigatorGroup.gif"/> |
| <childReferences |
| parent="//@diagram/@childNodes.0" |
| child="//@diagram/@links.2" |
| referenceType="out_target" |
| groupName="outgoing links" |
| groupIcon="icons/outgoingLinksNavigatorGroup.gif"/> |
| </navigator> |
| <diagramUpdater/> |
| <propertySheet> |
| <tabs |
| xsi:type="gmfgen:GenStandardPropertyTab" |
| iD="appearance"/> |
| <tabs |
| xsi:type="gmfgen:GenStandardPropertyTab" |
| iD="diagram"/> |
| <tabs |
| xsi:type="gmfgen:GenCustomPropertyTab" |
| iD="domain" |
| label="Core"> |
| <filter |
| xsi:type="gmfgen:TypeTabFilter"> |
| <types>org.eclipse.gmf.runtime.notation.View</types> |
| <types>org.eclipse.gef.EditPart</types> |
| <generatedTypes>abstractNavigatorItem</generatedTypes> |
| </filter> |
| </tabs> |
| </propertySheet> |
| <domainGenModel |
| href="toe.genmodel#/"/> |
| <expressionProviders> |
| <providers |
| xsi:type="gmfgen:GenExpressionInterpreter"> |
| <expressions |
| xsi:type="gmfgen:GenConstraint" |
| body="not self.oclIsKindOf(toe::Manager)"/> |
| <expressions |
| body="self.employees->iterate(
	e: Employee; sum : Integer = 0 | 
	sum + e.salary
)"/> |
| <expressions |
| body="--IA
self.employees->iterate(
	e: Employee; sum : Integer = 0 | 
	sum + e.salary
)"/> |
| <expressions |
| body="if self.departmentWide 
then 
	self.lead.managedDepartment.employees.name
else 
	self.projectTeam.name
endif"/> |
| <expressions |
| body="--IA
if self.departmentWide 
then 
	self.lead.managedDepartment.employees.name
else 
	self.projectTeam.name
endif"/> |
| </providers> |
| </expressionProviders> |
| <labelParsers |
| extensibleViaService="true"> |
| <implementations |
| xsi:type="gmfgen:PredefinedParser" |
| uses="//@diagram/@topLevelNodes.0/@labels.0/@modelFacet //@diagram/@childNodes.0/@labels.0/@modelFacet //@diagram/@childNodes.1/@labels.0/@modelFacet //@diagram/@topLevelNodes.1/@labels.0/@modelFacet //@diagram/@topLevelNodes.2/@labels.0/@modelFacet //@diagram/@topLevelNodes.3/@labels.0/@modelFacet"/> |
| <implementations |
| xsi:type="gmfgen:ExpressionLabelParser" |
| uses="//@diagram/@childNodes.1/@labels.1/@modelFacet" |
| viewExpression="//@expressionProviders/@providers.0/@expressions.1"> |
| <expressionContext |
| href="toe.genmodel#//toe/Department"/> |
| </implementations> |
| <implementations |
| xsi:type="gmfgen:ExpressionLabelParser" |
| uses="//@diagram/@childNodes.1/@labels.2/@modelFacet" |
| viewExpression="//@expressionProviders/@providers.0/@expressions.2"> |
| <expressionContext |
| href="toe.genmodel#//toe/Department"/> |
| </implementations> |
| <implementations |
| xsi:type="gmfgen:ExpressionLabelParser" |
| uses="//@diagram/@topLevelNodes.1/@labels.1/@modelFacet" |
| viewExpression="//@expressionProviders/@providers.0/@expressions.1"> |
| <expressionContext |
| href="toe.genmodel#//toe/Department"/> |
| </implementations> |
| <implementations |
| xsi:type="gmfgen:ExpressionLabelParser" |
| uses="//@diagram/@topLevelNodes.1/@labels.2/@modelFacet" |
| viewExpression="//@expressionProviders/@providers.0/@expressions.2"> |
| <expressionContext |
| href="toe.genmodel#//toe/Department"/> |
| </implementations> |
| <implementations |
| xsi:type="gmfgen:ExpressionLabelParser" |
| uses="//@diagram/@topLevelNodes.2/@labels.1/@modelFacet" |
| viewExpression="//@expressionProviders/@providers.0/@expressions.3"> |
| <expressionContext |
| href="toe.genmodel#//toe/Project"/> |
| </implementations> |
| <implementations |
| xsi:type="gmfgen:ExpressionLabelParser" |
| uses="//@diagram/@topLevelNodes.2/@labels.2/@modelFacet" |
| viewExpression="//@expressionProviders/@providers.0/@expressions.4"> |
| <expressionContext |
| href="toe.genmodel#//toe/Project"/> |
| </implementations> |
| </labelParsers> |
| <contextMenus |
| context="//@diagram"> |
| <items |
| xsi:type="gmfgen:LoadResourceAction"/> |
| </contextMenus> |
| </gmfgen:GenEditorGenerator> |