Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-07-19 08:22:04 +0000
committerEike Stepper2012-07-19 08:22:04 +0000
commit1460904fd3c193ffaf809913b2983a400fce9d94 (patch)
tree72f3a17b75fedba3ae1060df1d32c9c7889be954 /plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram
parent5f360965ae87478e0681899bf310a210cafc2c44 (diff)
downloadcdo-1460904fd3c193ffaf809913b2983a400fce9d94.tar.gz
cdo-1460904fd3c193ffaf809913b2983a400fce9d94.tar.xz
cdo-1460904fd3c193ffaf809913b2983a400fce9d94.zip
Fix line endings in master (dos2unix)
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram')
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/.settings/org.eclipse.core.resources.prefs6
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/META-INF/MANIFEST.MF96
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/copyright.txt14
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/messages.properties204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/plugin.xml1176
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttribute2CreateCommand.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttributeCreateCommand.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsCreateCommand.java236
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsReorientCommand.java364
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsCreateCommand.java236
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsReorientCommand.java364
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsCreateCommand.java236
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsReorientCommand.java364
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCreateCommand.java202
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesCreateCommand.java240
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesReorientCommand.java366
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesCreateCommand.java236
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesReorientCommand.java364
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AInterfaceCreateCommand.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperation2CreateCommand.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperationCreateCommand.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AAttributeEditHelper.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AClassEditHelper.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/ACoreRootEditHelper.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AInterfaceEditHelper.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AOperationEditHelper.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AcoreBaseEditHelper.java216
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttribute2EditPart.java1368
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttributeEditPart.java1368
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAAttributeCompartmentEditPart.java188
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAOperationClassCompartmentEditPart.java188
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAggregationsEditPart.java236
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAssociationsEditPart.java140
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassCompositionsEditPart.java236
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassEditPart.java1164
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassImplementedInterfacesEditPart.java206
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassNameEditPart.java1370
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassSubClassesEditPart.java234
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/ACoreRootEditPart.java112
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAAttributeInterfaceCompartmentEditPart.java190
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAOperationInterfaceCompartmentEditPart.java190
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceNameEditPart.java1372
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperation2EditPart.java1368
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperationEditPart.java1368
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AcoreEditPartFactory.java456
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttribute2ItemSemanticEditPolicy.java124
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttributeItemSemanticEditPolicy.java124
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentCanonicalEditPolicy.java158
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentItemSemanticEditPolicy.java92
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentCanonicalEditPolicy.java158
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentItemSemanticEditPolicy.java92
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAggregationsItemSemanticEditPolicy.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAssociationsItemSemanticEditPolicy.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassCompositionsItemSemanticEditPolicy.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassImplementedInterfacesItemSemanticEditPolicy.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassItemSemanticEditPolicy.java614
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassSubClassesItemSemanticEditPolicy.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootCanonicalEditPolicy.java696
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootItemSemanticEditPolicy.java162
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy.java158
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy.java92
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy.java158
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy.java92
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceItemSemanticEditPolicy.java374
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperation2ItemSemanticEditPolicy.java124
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperationItemSemanticEditPolicy.java124
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreBaseItemSemanticEditPolicy.java948
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextNonResizableEditPolicy.java562
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextSelectionEditPolicy.java528
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreAbstractNavigatorItem.java158
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorContentProvider.java530
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorItem.java270
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorLabelProvider.java242
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorActionProvider.java420
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorContentProvider.java1334
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorGroup.java240
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorItem.java222
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLabelProvider.java932
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLinkHelper.java298
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorSorter.java84
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/AbstractParser.java1170
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/MessageFormatParser.java456
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizard.java388
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizardPage.java212
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramActionBarContributor.java106
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditor.java654
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorPlugin.java570
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorUtil.java902
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdateCommand.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdater.java1308
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDocumentProvider.java2424
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreInitDiagramFileAction.java220
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreLinkDescriptor.java232
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreMatchingStrategy.java106
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNewDiagramFileWizard.java412
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNodeDescriptor.java114
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcorePaletteFactory.java544
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreUriEditorInputTester.java74
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreVisualIDRegistry.java644
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DeleteElementAction.java208
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DiagramEditorContextMenuProvider.java176
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/LoadResourceAction.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/Messages.java976
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/ModelElementSelectionPage.java348
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramAppearancePreferencePage.java62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramConnectionsPreferencePage.java62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramGeneralPreferencePage.java62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPreferenceInitializer.java92
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPrintingPreferencePage.java62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramRulersAndGridPreferencePage.java62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreEditPartProvider.java346
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreElementTypes.java714
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreIconProvider.java92
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreModelingAssistantProvider.java456
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreParserProvider.java552
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreViewProvider.java1498
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/ElementInitializers.java40
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcorePropertySection.java282
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcoreSheetLabelProvider.java204
119 files changed, 22768 insertions, 22768 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/.settings/org.eclipse.core.resources.prefs
index ad4c89c6f2..555b7cffc3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,3 @@
-#Mon Jul 04 12:52:23 CEST 2011
-eclipse.preferences.version=1
-encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
+#Mon Jul 04 12:52:23 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/META-INF/MANIFEST.MF
index 3c378746cd..b9c67cdfd6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/META-INF/MANIFEST.MF
@@ -1,48 +1,48 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.examples.acore.diagram; singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;version="1.0.100",
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet;version="1.0.100"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jface;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.views;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.navigator;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.navigator.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)",
- org.eclipse.emf.edit.ui;bundle-version="[2.4.0,3.0.0)",
- org.eclipse.gmf.runtime.emf.core;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.emf.ui.properties;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.properties;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.providers.ide;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
- org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.gmf.runtime.draw2d.ui;bundle-version="[1.4.0,2.0.0)";visibility:=reexport,
- org.eclipse.gef;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
- org.eclipse.draw2d;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
- org.eclipse.emf.cdo.dawn.examples.acore;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.cdo.dawn.examples.acore.edit;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Eclipse-ExtensibleAPI: true
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.dawn.examples.acore.diagram; singleton:=true
+Bundle-Version: 1.0.100.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;version="1.0.100",
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet;version="1.0.100"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.jface;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.ui.views;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.ui.navigator;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.ui.navigator.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.4.0,3.0.0)",
+ org.eclipse.gmf.runtime.emf.core;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.ui.properties;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.properties;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.providers.ide;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.draw2d.ui;bundle-version="[1.4.0,2.0.0)";visibility:=reexport,
+ org.eclipse.gef;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
+ org.eclipse.draw2d;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.dawn.examples.acore;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo.dawn.examples.acore.edit;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Eclipse-ExtensibleAPI: true
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/copyright.txt
index 9cbb3ba084..cea141de92 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/copyright.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-
-Contributors:
+Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
Martin Fluegge - initial API and implementation \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/messages.properties b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/messages.properties
index 0c6d9ad307..81efb01ebf 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/messages.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/messages.properties
@@ -1,102 +1,102 @@
-# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Eike Stepper - initial API and implementation
-
-# TODO: manually put keys and values
-AcoreCreationWizardTitle=New Acore Diagram
-AcoreCreationWizard_DiagramModelFilePageTitle=Create Acore Diagram
-AcoreCreationWizard_DiagramModelFilePageDescription=Select resource that will contain diagram model.
-AcoreCreationWizard_DomainModelFilePageTitle=Create Acore Domain Model
-AcoreCreationWizard_DomainModelFilePageDescription=Select resource that will contain domain model.
-AcoreCreationWizardOpenEditorError=Error opening diagram editor
-AcoreCreationWizardCreationError=Creation Problems
-AcoreCreationWizardPageExtensionError=File name should have {0} extension.
-AcoreDiagramEditorUtil_OpenModelResourceErrorDialogTitle=Error
-AcoreDiagramEditorUtil_OpenModelResourceErrorDialogMessage=Failed to load model file {0}
-AcoreDiagramEditorUtil_CreateDiagramProgressTask=Creating diagram and model files
-AcoreDiagramEditorUtil_CreateDiagramCommandLabel=Creating diagram and model
-AcoreDocumentProvider_isModifiable=Updating cache failed
-AcoreDocumentProvider_handleElementContentChanged=Failed to refresh hierarchy for changed resource
-AcoreDocumentProvider_IncorrectInputError={1}
-AcoreDocumentProvider_NoDiagramInResourceError=Diagram is not present in resource
-AcoreDocumentProvider_DiagramLoadingError=Error loading diagram
-AcoreDocumentProvider_UnsynchronizedFileSaveError=The file has been changed on the file system
-AcoreDocumentProvider_SaveDiagramTask=Saving diagram
-AcoreDocumentProvider_SaveNextResourceTask=Saving {0}
-AcoreDocumentProvider_SaveAsOperation=Saving {0} diagram as
-InitDiagramFile_ResourceErrorDialogTitle=Error
-InitDiagramFile_ResourceErrorDialogMessage=Model file loading failed
-InitDiagramFile_WizardTitle=Initialize new {0} diagram file
-InitDiagramFile_OpenModelFileDialogTitle=Select domain model
-AcoreNewDiagramFileWizard_CreationPageName=Initialize new diagram file
-AcoreNewDiagramFileWizard_CreationPageTitle=Diagram file
-AcoreNewDiagramFileWizard_CreationPageDescription=Create new diagram based on {0} model content
-AcoreNewDiagramFileWizard_RootSelectionPageName=Select diagram root element
-AcoreNewDiagramFileWizard_RootSelectionPageTitle=Diagram root element
-AcoreNewDiagramFileWizard_RootSelectionPageDescription=Select semantic model element to be depicted on diagram
-AcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle=Select diagram root element:
-AcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=Diagram root element is not selected
-AcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=Invalid diagram root element is selected
-AcoreNewDiagramFileWizard_InitDiagramCommand=Initializing diagram contents
-AcoreNewDiagramFileWizard_IncorrectRootError=Incorrect model object stored as a root resource object
-AcoreDiagramEditor_SavingDeletedFile=The original file "{0}" has been deleted.
-AcoreDiagramEditor_SaveAsErrorTitle=Problem During Save As...
-AcoreDiagramEditor_SaveAsErrorMessage=Save could not be completed. Target file is already open in another editor.
-AcoreDiagramEditor_SaveErrorTitle=Save Problems
-AcoreDiagramEditor_SaveErrorMessage=Could not save file.
-AcoreElementChooserDialog_SelectModelElementTitle=Select model element
-ModelElementSelectionPageMessage=Select model element:
-ValidateActionMessage=Validate
-Node1Group_title=Node
-Connections2Group_title=Connections
-AClass1CreationTool_title=AClass
-AClass1CreationTool_desc=Create new AClass
-AInterface2CreationTool_title=AInterface
-AInterface2CreationTool_desc=Create new AInterface
-AAttribute3CreationTool_title=AAttribute
-AAttribute3CreationTool_desc=Create an Attribute
-AOperation4CreationTool_title=AOperation
-AOperation4CreationTool_desc=Create an Operation
-Inherits1CreationTool_title=inherits
-Inherits1CreationTool_desc=Create new AClassSubClasses
-Implements2CreationTool_title=implements
-Implements2CreationTool_desc=Create new AClassImplementedInterfaces
-Association3CreationTool_title=association
-Association3CreationTool_desc=Create new AClassSubClasses
-Aggregation4CreationTool_title=aggregation
-Aggregation4CreationTool_desc=Create new AClassSubClasses
-Composition5CreationTool_title=composition
-Composition5CreationTool_desc=Create new AClassSubClasses
-AInterfaceAAttributeInterfaceCompartmentEditPart_title=AAttributeInterfaceCompartment
-AInterfaceAOperationInterfaceCompartmentEditPart_title=AOperationInterfaceCompartment
-AClassAAttributeCompartmentEditPart_title=AAttributeCompartment
-AClassAOperationClassCompartmentEditPart_title=AOperationClassCompartment
-
-CommandName_OpenDiagram=Open Diagram
-NavigatorGroupName_AClassSubClasses_4001_target=target
-NavigatorGroupName_AClassSubClasses_4001_source=source
-NavigatorGroupName_AClassCompositions_4005_target=target
-NavigatorGroupName_AClassCompositions_4005_source=source
-NavigatorGroupName_AInterface_2001_incominglinks=incoming links
-NavigatorGroupName_AClassAggregations_4004_target=target
-NavigatorGroupName_AClassAggregations_4004_source=source
-NavigatorGroupName_AClassImplementedInterfaces_4002_target=target
-NavigatorGroupName_AClassImplementedInterfaces_4002_source=source
-NavigatorGroupName_AClass_2002_incominglinks=incoming links
-NavigatorGroupName_AClass_2002_outgoinglinks=outgoing links
-NavigatorGroupName_ACoreRoot_1000_links=links
-NavigatorGroupName_AClassAssociations_4003_target=target
-NavigatorGroupName_AClassAssociations_4003_source=source
-NavigatorActionProvider_OpenDiagramActionName=Open Diagram
-AbstractParser_UnexpectedValueType=Value of type {0} is expected
-AbstractParser_WrongStringConversion=String value does not convert to {0} value
-AbstractParser_UnknownLiteral=Unknown literal: {0}
-
-MessageFormatParser_InvalidInputError=Invalid input at {0}
-AcoreModelingAssistantProviderTitle=Select domain model element
-AcoreModelingAssistantProviderMessage=Available domain model elements:
+# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Eike Stepper - initial API and implementation
+
+# TODO: manually put keys and values
+AcoreCreationWizardTitle=New Acore Diagram
+AcoreCreationWizard_DiagramModelFilePageTitle=Create Acore Diagram
+AcoreCreationWizard_DiagramModelFilePageDescription=Select resource that will contain diagram model.
+AcoreCreationWizard_DomainModelFilePageTitle=Create Acore Domain Model
+AcoreCreationWizard_DomainModelFilePageDescription=Select resource that will contain domain model.
+AcoreCreationWizardOpenEditorError=Error opening diagram editor
+AcoreCreationWizardCreationError=Creation Problems
+AcoreCreationWizardPageExtensionError=File name should have {0} extension.
+AcoreDiagramEditorUtil_OpenModelResourceErrorDialogTitle=Error
+AcoreDiagramEditorUtil_OpenModelResourceErrorDialogMessage=Failed to load model file {0}
+AcoreDiagramEditorUtil_CreateDiagramProgressTask=Creating diagram and model files
+AcoreDiagramEditorUtil_CreateDiagramCommandLabel=Creating diagram and model
+AcoreDocumentProvider_isModifiable=Updating cache failed
+AcoreDocumentProvider_handleElementContentChanged=Failed to refresh hierarchy for changed resource
+AcoreDocumentProvider_IncorrectInputError={1}
+AcoreDocumentProvider_NoDiagramInResourceError=Diagram is not present in resource
+AcoreDocumentProvider_DiagramLoadingError=Error loading diagram
+AcoreDocumentProvider_UnsynchronizedFileSaveError=The file has been changed on the file system
+AcoreDocumentProvider_SaveDiagramTask=Saving diagram
+AcoreDocumentProvider_SaveNextResourceTask=Saving {0}
+AcoreDocumentProvider_SaveAsOperation=Saving {0} diagram as
+InitDiagramFile_ResourceErrorDialogTitle=Error
+InitDiagramFile_ResourceErrorDialogMessage=Model file loading failed
+InitDiagramFile_WizardTitle=Initialize new {0} diagram file
+InitDiagramFile_OpenModelFileDialogTitle=Select domain model
+AcoreNewDiagramFileWizard_CreationPageName=Initialize new diagram file
+AcoreNewDiagramFileWizard_CreationPageTitle=Diagram file
+AcoreNewDiagramFileWizard_CreationPageDescription=Create new diagram based on {0} model content
+AcoreNewDiagramFileWizard_RootSelectionPageName=Select diagram root element
+AcoreNewDiagramFileWizard_RootSelectionPageTitle=Diagram root element
+AcoreNewDiagramFileWizard_RootSelectionPageDescription=Select semantic model element to be depicted on diagram
+AcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle=Select diagram root element:
+AcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=Diagram root element is not selected
+AcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=Invalid diagram root element is selected
+AcoreNewDiagramFileWizard_InitDiagramCommand=Initializing diagram contents
+AcoreNewDiagramFileWizard_IncorrectRootError=Incorrect model object stored as a root resource object
+AcoreDiagramEditor_SavingDeletedFile=The original file "{0}" has been deleted.
+AcoreDiagramEditor_SaveAsErrorTitle=Problem During Save As...
+AcoreDiagramEditor_SaveAsErrorMessage=Save could not be completed. Target file is already open in another editor.
+AcoreDiagramEditor_SaveErrorTitle=Save Problems
+AcoreDiagramEditor_SaveErrorMessage=Could not save file.
+AcoreElementChooserDialog_SelectModelElementTitle=Select model element
+ModelElementSelectionPageMessage=Select model element:
+ValidateActionMessage=Validate
+Node1Group_title=Node
+Connections2Group_title=Connections
+AClass1CreationTool_title=AClass
+AClass1CreationTool_desc=Create new AClass
+AInterface2CreationTool_title=AInterface
+AInterface2CreationTool_desc=Create new AInterface
+AAttribute3CreationTool_title=AAttribute
+AAttribute3CreationTool_desc=Create an Attribute
+AOperation4CreationTool_title=AOperation
+AOperation4CreationTool_desc=Create an Operation
+Inherits1CreationTool_title=inherits
+Inherits1CreationTool_desc=Create new AClassSubClasses
+Implements2CreationTool_title=implements
+Implements2CreationTool_desc=Create new AClassImplementedInterfaces
+Association3CreationTool_title=association
+Association3CreationTool_desc=Create new AClassSubClasses
+Aggregation4CreationTool_title=aggregation
+Aggregation4CreationTool_desc=Create new AClassSubClasses
+Composition5CreationTool_title=composition
+Composition5CreationTool_desc=Create new AClassSubClasses
+AInterfaceAAttributeInterfaceCompartmentEditPart_title=AAttributeInterfaceCompartment
+AInterfaceAOperationInterfaceCompartmentEditPart_title=AOperationInterfaceCompartment
+AClassAAttributeCompartmentEditPart_title=AAttributeCompartment
+AClassAOperationClassCompartmentEditPart_title=AOperationClassCompartment
+
+CommandName_OpenDiagram=Open Diagram
+NavigatorGroupName_AClassSubClasses_4001_target=target
+NavigatorGroupName_AClassSubClasses_4001_source=source
+NavigatorGroupName_AClassCompositions_4005_target=target
+NavigatorGroupName_AClassCompositions_4005_source=source
+NavigatorGroupName_AInterface_2001_incominglinks=incoming links
+NavigatorGroupName_AClassAggregations_4004_target=target
+NavigatorGroupName_AClassAggregations_4004_source=source
+NavigatorGroupName_AClassImplementedInterfaces_4002_target=target
+NavigatorGroupName_AClassImplementedInterfaces_4002_source=source
+NavigatorGroupName_AClass_2002_incominglinks=incoming links
+NavigatorGroupName_AClass_2002_outgoinglinks=outgoing links
+NavigatorGroupName_ACoreRoot_1000_links=links
+NavigatorGroupName_AClassAssociations_4003_target=target
+NavigatorGroupName_AClassAssociations_4003_source=source
+NavigatorActionProvider_OpenDiagramActionName=Open Diagram
+AbstractParser_UnexpectedValueType=Value of type {0} is expected
+AbstractParser_WrongStringConversion=String value does not convert to {0} value
+AbstractParser_UnknownLiteral=Unknown literal: {0}
+
+MessageFormatParser_InvalidInputError=Invalid input at {0}
+AcoreModelingAssistantProviderTitle=Select domain model element
+AcoreModelingAssistantProviderMessage=Available domain model elements:
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/plugin.xml b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/plugin.xml
index 5f49533db2..245b5be5e5 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/plugin.xml
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/plugin.xml
@@ -1,588 +1,588 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
-Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-
-Contributors:
- Martin Fluegge - initial API and implementation
-
--->
-<plugin>
-
- <extension point="org.eclipse.team.core.fileTypes" id="repo-ftype">
- <?gmfgen generated="true"?>
- <fileTypes type="text" extension="acore_diagram"/>
- </extension>
-
- <extension point="org.eclipse.emf.ecore.extension_parser" id="resource-factory">
- <?gmfgen generated="true"?>
- <parser
- type="acore_diagram"
- class="org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory">
- </parser>
- </extension>
-
- <extension point="org.eclipse.ui.editors" id="gmf-editor">
- <?gmfgen generated="true"?>
- <editor
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"
- name="%editorName"
- icon="icons/obj16/AcoreDiagramFile.gif"
- extensions="acore_diagram"
- default="true"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditor"
- matchingStrategy="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreMatchingStrategy"
- contributorClass="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramActionBarContributor">
- </editor>
- </extension>
-
- <extension point="org.eclipse.ui.contexts" id="ui-context">
- <?gmfgen generated="true"?>
- <context
- description="%context.description"
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ui.diagramContext"
- name="%context.name"
- parentId="org.eclipse.gmf.runtime.diagram.ui.diagramContext">
- </context>
- </extension>
-
- <extension point="org.eclipse.ui.newWizards" id="creation-wizard">
- <?gmfgen generated="true"?>
- <wizard
- name="%newWizardName"
- icon="icons/obj16/AcoreDiagramFile.gif"
- category="org.eclipse.ui.Examples"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreCreationWizard"
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreCreationWizardID">
- <description>%newWizardDesc</description>
- </wizard>
- </extension>
-
- <extension point="org.eclipse.ui.popupMenus" id="init-diagram-action">
- <?gmfgen generated="true"?>
- <objectContribution
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.InitDiagram"
- nameFilter="*.acore"
- objectClass="org.eclipse.core.resources.IFile">
- <action
- label="%initDiagramActionLabel"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreInitDiagramFileAction"
- menubarPath="additions"
- enablesFor="1"
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.InitDiagramAction">
- </action>
- </objectContribution>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.common.ui.services.action.globalActionHandlerProviders" id="global-actions">
- <?gmfgen generated="true"?>
- <GlobalActionHandlerProvider
- class="org.eclipse.gmf.runtime.diagram.ui.providers.DiagramGlobalActionHandlerProvider"
- id="AcorePresentation">
- <Priority name="Lowest"/>
- <ViewId id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID">
- <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
- <GlobalActionId actionId="delete"/>
- </ElementType>
- <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart">
- <GlobalActionId actionId="save"/>
- </ElementType>
- </ViewId>
- </GlobalActionHandlerProvider>
- <GlobalActionHandlerProvider
- class="org.eclipse.gmf.runtime.diagram.ui.providers.ide.providers.DiagramIDEGlobalActionHandlerProvider"
- id="AcorePresentationIDE">
- <Priority name="Lowest"/>
- <ViewId id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID">
- <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
- <GlobalActionId actionId="bookmark"/>
- </ElementType>
- </ViewId>
- </GlobalActionHandlerProvider>
- <GlobalActionHandlerProvider
- class="org.eclipse.gmf.runtime.diagram.ui.render.providers.DiagramUIRenderGlobalActionHandlerProvider"
- id="AcoreRender">
- <Priority name="Lowest"/>
- <ViewId id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID">
- <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
- <GlobalActionId actionId="cut"/>
- <GlobalActionId actionId="copy"/>
- <GlobalActionId actionId="paste"/>
- </ElementType>
- </ViewId>
- </GlobalActionHandlerProvider>
- </extension>
-
-
- <extension point="org.eclipse.core.runtime.preferences" id="prefs">
- <?gmfgen generated="true"?>
- <initializer class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramPreferenceInitializer"/>
- </extension>
-
- <extension point="org.eclipse.ui.preferencePages" id="prefpages">
- <?gmfgen generated="true"?>
- <page
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
- name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramGeneralPreferencePage">
- </page>
- <page
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.appearance"
- name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.appearance"
- category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramAppearancePreferencePage">
- </page>
- <page
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.connections"
- name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.connections"
- category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramConnectionsPreferencePage">
- </page>
- <page
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.printing"
- name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.printing"
- category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramPrintingPreferencePage">
- </page>
- <page
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.rulersAndGrid"
- name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.rulersAndGrid"
- category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramRulersAndGridPreferencePage">
- </page>
- </extension>
-
- <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor" id="prop-contrib">
- <?gmfgen generated="true"?>
- <propertyContributor
- contributorId="org.eclipse.emf.cdo.dawn.examples.acore.diagram"
- labelProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet.AcoreSheetLabelProvider">
- <propertyCategory category="domain"/>
- <propertyCategory category="visual"/>
- <propertyCategory category="extra"/>
- </propertyContributor>
- </extension>
-
- <extension point="org.eclipse.ui.views.properties.tabbed.propertyTabs" id="proptabs">
- <?gmfgen generated="true"?>
- <propertyTabs contributorId="org.eclipse.emf.cdo.dawn.examples.acore.diagram">
- <propertyTab
- category="visual"
- id="property.tab.AppearancePropertySection"
- label="%tab.appearance"/>
- <propertyTab
- category="visual"
- id="property.tab.DiagramPropertySection"
- label="%tab.diagram"/>
- <propertyTab
- category="domain"
- id="property.tab.domain"
- label="%tab.domain"/>
- </propertyTabs>
- </extension>
-
- <extension point="org.eclipse.ui.views.properties.tabbed.propertySections" id="propsections">
- <?gmfgen generated="true"?>
- <propertySections contributorId="org.eclipse.emf.cdo.dawn.examples.acore.diagram">
- <propertySection id="property.section.ConnectorAppearancePropertySection"
- filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ConnectionEditPartPropertySectionFilter"
- class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ConnectionAppearancePropertySection"
- tab="property.tab.AppearancePropertySection">
- </propertySection>
- <propertySection id="property.section.ShapeColorAndFontPropertySection"
- filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ShapeEditPartPropertySectionFilter"
- class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ShapeColorsAndFontsPropertySection"
- tab="property.tab.AppearancePropertySection">
- </propertySection>
- <propertySection id="property.section.DiagramColorsAndFontsPropertySection"
- filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.DiagramEditPartPropertySectionFilter"
- class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.DiagramColorsAndFontsPropertySection"
- tab="property.tab.AppearancePropertySection">
- </propertySection>
- <propertySection id="property.section.RulerGridPropertySection"
- filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.DiagramEditPartPropertySectionFilter"
- class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.grid.RulerGridPropertySection"
- tab="property.tab.DiagramPropertySection">
- </propertySection>
- <propertySection
- id="property.section.domain"
- tab="property.tab.domain"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet.AcorePropertySection">
- <input type="org.eclipse.gmf.runtime.notation.View"/>
- <input type="org.eclipse.gef.EditPart"/>
- <input type="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
- </propertySection>
- </propertySections>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider">
- <?gmfgen generated="true"?>
- <viewProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreViewProvider">
- <Priority name="Lowest"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="Acore"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="2001,2002,3001,3002,3003,3004"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001,4002,4003,4004,4005"/>
- </viewProvider>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders" id="ep-provider">
- <?gmfgen generated="true"?>
- <editpartProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreEditPartProvider">
- <Priority name="Lowest"/>
- <object class="org.eclipse.gmf.runtime.notation.Diagram" id="generated-diagram">
- <method name="getType()" value="Acore"/>
- </object>
- <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-nodes">
- <method name="getType()" value="2001,2002,3001,3002,3003,3004"/>
- </object>
- <object class="org.eclipse.gmf.runtime.notation.Edge" id="generated-links">
- <method name="getType()" value="4001,4002,4003,4004,4005"/>
- </object>
- <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-labels">
- <method name="getType()" value="5001,5002"/>
- </object>
- <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-compartments">
- <method name="getType()" value="7001,7002,7003,7004"/>
- </object>
- <context views="generated-diagram,generated-nodes,generated-links,generated-labels,generated-compartments"/>
- </editpartProvider>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders" id="modelassist-provider">
- <?gmfgen generated="true"?>
- <modelingAssistantProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreModelingAssistantProvider">
- <Priority name="Lowest"/>
- <object class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart" id="ACoreRoot_1000"/>
- <object class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart" id="AInterface_2001"/>
- <object class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart" id="AClass_2002"/>
- <context elements="ACoreRoot_1000,AInterface_2001,AClass_2002"/>
- </modelingAssistantProvider>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.common.ui.services.iconProviders" id="icon-provider">
- <?gmfgen generated="true"?>
- <IconProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreIconProvider">
- <Priority name="Low"/>
- </IconProvider>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.common.ui.services.parserProviders" id="parser-provider">
- <?gmfgen generated="true"?>
- <ParserProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider">
- <Priority name="Lowest"/>
- </ParserProvider>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes" id="element-types">
- <?gmfgen generated="true"?>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <metamodelType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ACoreRoot_1000"
- name="%metatype.name.ACoreRoot_1000"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
- eclass="ACoreRoot"
- edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.ACoreRootEditHelper">
- <param name="semanticHint" value="1000"/>
- </metamodelType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <metamodelType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AInterface_2001"
- name="%metatype.name.AInterface_2001"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
- eclass="AInterface"
- edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AInterfaceEditHelper">
- <param name="semanticHint" value="2001"/>
- </metamodelType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <metamodelType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClass_2002"
- name="%metatype.name.AClass_2002"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
- eclass="AClass"
- edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AClassEditHelper">
- <param name="semanticHint" value="2002"/>
- </metamodelType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <metamodelType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"
- name="%metatype.name.AAttribute_3001"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
- eclass="AAttribute"
- edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AAttributeEditHelper">
- <param name="semanticHint" value="3001"/>
- </metamodelType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <metamodelType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"
- name="%metatype.name.AOperation_3002"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
- eclass="AOperation"
- edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AOperationEditHelper">
- <param name="semanticHint" value="3002"/>
- </metamodelType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3003"
- name="%metatype.name.AAttribute_3003"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"/>
- <param name="semanticHint" value="3003"/>
- </specializationType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3004"
- name="%metatype.name.AOperation_3004"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"/>
- <param name="semanticHint" value="3004"/>
- </specializationType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassSubClasses_4001"
- name="%metatype.name.AClassSubClasses_4001"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
- <param name="semanticHint" value="4001"/>
- </specializationType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassImplementedInterfaces_4002"
- name="%metatype.name.AClassImplementedInterfaces_4002"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
- <param name="semanticHint" value="4002"/>
- </specializationType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAssociations_4003"
- name="%metatype.name.AClassAssociations_4003"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
- <param name="semanticHint" value="4003"/>
- </specializationType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAggregations_4004"
- name="%metatype.name.AClassAggregations_4004"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
- <param name="semanticHint" value="4004"/>
- </specializationType>
- </metamodel>
- <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
- <specializationType
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassCompositions_4005"
- name="%metatype.name.AClassCompositions_4005"
- kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
- <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
- <param name="semanticHint" value="4005"/>
- </specializationType>
- </metamodel>
- </extension>
-
- <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings" id="element-types-bindings">
- <?gmfgen generated="true"?>
- <clientContext id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.TypeContext">
- <enablement>
- <test
- property="org.eclipse.gmf.runtime.emf.core.editingDomain"
- value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.EditingDomain"/>
- </enablement>
- </clientContext>
- <binding context="org.eclipse.emf.cdo.dawn.examples.acore.diagram.TypeContext">
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ACoreRoot_1000"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AInterface_2001"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClass_2002"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3003"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3004"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassSubClasses_4001"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassImplementedInterfaces_4002"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAssociations_4003"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAggregations_4004"/>
- <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassCompositions_4005"/>
- <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
- </binding>
- </extension>
- <extension point="org.eclipse.core.expressions.propertyTesters" id="navigator-proptest.isURIEditorInput">
- <?gmfgen generated="true"?>
- <propertyTester
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.URIEditorInputPropertyTester"
- type="org.eclipse.emf.common.ui.URIEditorInput"
- namespace="org.eclipse.emf.cdo.dawn.examples.acore.diagram"
- properties="isURIEditorInput"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreUriEditorInputTester">
- </propertyTester>
- </extension>
-
- <extension point="org.eclipse.ui.navigator.viewer" id="navigator-viewbinding">
- <?gmfgen generated="true"?>
- <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
- <includes>
- <contentExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.resourceContent"/>
- <contentExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.domainResourceContent"/>
- <contentExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorLinkHelper"/>
- </includes>
- </viewerContentBinding>
- <viewerActionBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
- <includes>
- <actionExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorActionProvider"/>
- </includes>
- </viewerActionBinding>
- </extension>
-
- <extension point="org.eclipse.ui.navigator.navigatorContent" id="navigator-content">
- <?gmfgen generated="true"?>
- <navigatorContent
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.resourceContent"
- name="%navigatorContentName"
- priority="normal"
- contentProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorContentProvider"
- labelProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorLabelProvider"
- icon="icons/obj16/AcoreDiagramFile.gif"
- activeByDefault="true">
- <triggerPoints>
- <or>
- <and>
- <instanceof value="org.eclipse.core.resources.IFile"/>
- <test property="org.eclipse.core.resources.extension" value="acore_diagram"/>
- </and>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
- </or>
- </triggerPoints>
- <possibleChildren>
- <or>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
- </or>
- </possibleChildren>
- <commonSorter
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorSorter"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorSorter">
- <parentExpression>
- <or>
- <and>
- <instanceof value="org.eclipse.core.resources.IFile"/>
- <test property="org.eclipse.core.resources.extension" value="acore_diagram"/>
- </and>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
- </or>
- </parentExpression>
- </commonSorter>
- </navigatorContent>
- <navigatorContent
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.domainResourceContent"
- name="%domainNavigatorContentName"
- priority="normal"
- contentProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorContentProvider"
- labelProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorLabelProvider"
- icon="icons/obj16/AcoreDiagramFile.gif"
- activeByDefault="true">
- <triggerPoints>
- <or>
- <and>
- <instanceof value="org.eclipse.core.resources.IFile"/>
- <test property="org.eclipse.core.resources.extension" value="acore"/>
- </and>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem"/>
- </or>
- </triggerPoints>
- <possibleChildren>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem"/>
- </possibleChildren>
- </navigatorContent>
- <actionProvider
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorActionProvider"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorActionProvider">
- <enablement>
- <or>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
- </or>
- </enablement>
- </actionProvider>
- </extension>
-
- <extension point="org.eclipse.ui.navigator.linkHelper" id="navigator-linkhelper">
- <?gmfgen generated="true"?>
- <linkHelper
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorLinkHelper"
- class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorLinkHelper">
- <editorInputEnablement>
- <and>
- <instanceof value="org.eclipse.emf.common.ui.URIEditorInput"/>
- <test property="org.eclipse.emf.cdo.dawn.examples.acore.diagram.isURIEditorInput"/>
- </and>
- </editorInputEnablement>
- <selectionEnablement>
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
- </selectionEnablement>
- </linkHelper>
- </extension>
- <extension point="org.eclipse.ui.commands" id="update-cmd">
- <?gmfgen generated="true"?>
- <command
- categoryId="org.eclipse.ui.category.edit"
- defaultHandler="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdateCommand"
- description="%update.diagram.description"
- id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.updateDiagram"
- name="%update.diagram.name"/>
- </extension>
-
- <extension point="org.eclipse.ui.bindings" id="update-cmd-binding">
- <?gmfgen generated="true"?>
- <key
- commandId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.updateDiagram"
- contextId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ui.diagramContext"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="F5"/>
- </extension>
-
- <extension point="org.eclipse.ui.menus" id="context-menus">
- <?gmfgen generated="true"?>
- <!-- menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=">
- </menuContribution>
- <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=">
- </menuContribution -->
- <menuContribution locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu">
- <command commandId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.LoadResourceAction">
- <visibleWhen>
- <and>
- <with variable="activePartId"><equals value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"/></with>
- <with variable="selection"><iterate ifEmpty="false">
- <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart"/>
- </iterate></with>
- </and>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
-
- <extension point="org.eclipse.ui.commands" id="menu-commands">
- <?gmfgen generated="true"?>
- <category id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID" name="%cmdcategory.name" description="%cmdcategory.desc"/>
- <command id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.LoadResourceAction"
- name="Load Resource"
- categoryId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"
- defaultHandler="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.LoadResourceAction"/>
- </extension>
-
- <extension point="org.eclipse.ui.handlers" id="menu-handlers">
- <?gmfgen generated="true"?>
- </extension>
-
- <!-- optionally, specify keybindings -->
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+ Martin Fluegge - initial API and implementation
+
+-->
+<plugin>
+
+ <extension point="org.eclipse.team.core.fileTypes" id="repo-ftype">
+ <?gmfgen generated="true"?>
+ <fileTypes type="text" extension="acore_diagram"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser" id="resource-factory">
+ <?gmfgen generated="true"?>
+ <parser
+ type="acore_diagram"
+ class="org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory">
+ </parser>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors" id="gmf-editor">
+ <?gmfgen generated="true"?>
+ <editor
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"
+ name="%editorName"
+ icon="icons/obj16/AcoreDiagramFile.gif"
+ extensions="acore_diagram"
+ default="true"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditor"
+ matchingStrategy="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreMatchingStrategy"
+ contributorClass="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramActionBarContributor">
+ </editor>
+ </extension>
+
+ <extension point="org.eclipse.ui.contexts" id="ui-context">
+ <?gmfgen generated="true"?>
+ <context
+ description="%context.description"
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ui.diagramContext"
+ name="%context.name"
+ parentId="org.eclipse.gmf.runtime.diagram.ui.diagramContext">
+ </context>
+ </extension>
+
+ <extension point="org.eclipse.ui.newWizards" id="creation-wizard">
+ <?gmfgen generated="true"?>
+ <wizard
+ name="%newWizardName"
+ icon="icons/obj16/AcoreDiagramFile.gif"
+ category="org.eclipse.ui.Examples"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreCreationWizard"
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreCreationWizardID">
+ <description>%newWizardDesc</description>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.popupMenus" id="init-diagram-action">
+ <?gmfgen generated="true"?>
+ <objectContribution
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.InitDiagram"
+ nameFilter="*.acore"
+ objectClass="org.eclipse.core.resources.IFile">
+ <action
+ label="%initDiagramActionLabel"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreInitDiagramFileAction"
+ menubarPath="additions"
+ enablesFor="1"
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.InitDiagramAction">
+ </action>
+ </objectContribution>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.common.ui.services.action.globalActionHandlerProviders" id="global-actions">
+ <?gmfgen generated="true"?>
+ <GlobalActionHandlerProvider
+ class="org.eclipse.gmf.runtime.diagram.ui.providers.DiagramGlobalActionHandlerProvider"
+ id="AcorePresentation">
+ <Priority name="Lowest"/>
+ <ViewId id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID">
+ <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
+ <GlobalActionId actionId="delete"/>
+ </ElementType>
+ <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart">
+ <GlobalActionId actionId="save"/>
+ </ElementType>
+ </ViewId>
+ </GlobalActionHandlerProvider>
+ <GlobalActionHandlerProvider
+ class="org.eclipse.gmf.runtime.diagram.ui.providers.ide.providers.DiagramIDEGlobalActionHandlerProvider"
+ id="AcorePresentationIDE">
+ <Priority name="Lowest"/>
+ <ViewId id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID">
+ <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
+ <GlobalActionId actionId="bookmark"/>
+ </ElementType>
+ </ViewId>
+ </GlobalActionHandlerProvider>
+ <GlobalActionHandlerProvider
+ class="org.eclipse.gmf.runtime.diagram.ui.render.providers.DiagramUIRenderGlobalActionHandlerProvider"
+ id="AcoreRender">
+ <Priority name="Lowest"/>
+ <ViewId id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID">
+ <ElementType class="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
+ <GlobalActionId actionId="cut"/>
+ <GlobalActionId actionId="copy"/>
+ <GlobalActionId actionId="paste"/>
+ </ElementType>
+ </ViewId>
+ </GlobalActionHandlerProvider>
+ </extension>
+
+
+ <extension point="org.eclipse.core.runtime.preferences" id="prefs">
+ <?gmfgen generated="true"?>
+ <initializer class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramPreferenceInitializer"/>
+ </extension>
+
+ <extension point="org.eclipse.ui.preferencePages" id="prefpages">
+ <?gmfgen generated="true"?>
+ <page
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
+ name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramGeneralPreferencePage">
+ </page>
+ <page
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.appearance"
+ name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.appearance"
+ category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramAppearancePreferencePage">
+ </page>
+ <page
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.connections"
+ name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.connections"
+ category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramConnectionsPreferencePage">
+ </page>
+ <page
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.printing"
+ name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.printing"
+ category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramPrintingPreferencePage">
+ </page>
+ <page
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.rulersAndGrid"
+ name="%prefpage.org.eclipse.emf.cdo.dawn.examples.acore.diagram.rulersAndGrid"
+ category="org.eclipse.emf.cdo.dawn.examples.acore.diagram.general"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences.DiagramRulersAndGridPreferencePage">
+ </page>
+ </extension>
+
+ <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor" id="prop-contrib">
+ <?gmfgen generated="true"?>
+ <propertyContributor
+ contributorId="org.eclipse.emf.cdo.dawn.examples.acore.diagram"
+ labelProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet.AcoreSheetLabelProvider">
+ <propertyCategory category="domain"/>
+ <propertyCategory category="visual"/>
+ <propertyCategory category="extra"/>
+ </propertyContributor>
+ </extension>
+
+ <extension point="org.eclipse.ui.views.properties.tabbed.propertyTabs" id="proptabs">
+ <?gmfgen generated="true"?>
+ <propertyTabs contributorId="org.eclipse.emf.cdo.dawn.examples.acore.diagram">
+ <propertyTab
+ category="visual"
+ id="property.tab.AppearancePropertySection"
+ label="%tab.appearance"/>
+ <propertyTab
+ category="visual"
+ id="property.tab.DiagramPropertySection"
+ label="%tab.diagram"/>
+ <propertyTab
+ category="domain"
+ id="property.tab.domain"
+ label="%tab.domain"/>
+ </propertyTabs>
+ </extension>
+
+ <extension point="org.eclipse.ui.views.properties.tabbed.propertySections" id="propsections">
+ <?gmfgen generated="true"?>
+ <propertySections contributorId="org.eclipse.emf.cdo.dawn.examples.acore.diagram">
+ <propertySection id="property.section.ConnectorAppearancePropertySection"
+ filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ConnectionEditPartPropertySectionFilter"
+ class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ConnectionAppearancePropertySection"
+ tab="property.tab.AppearancePropertySection">
+ </propertySection>
+ <propertySection id="property.section.ShapeColorAndFontPropertySection"
+ filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ShapeEditPartPropertySectionFilter"
+ class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ShapeColorsAndFontsPropertySection"
+ tab="property.tab.AppearancePropertySection">
+ </propertySection>
+ <propertySection id="property.section.DiagramColorsAndFontsPropertySection"
+ filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.DiagramEditPartPropertySectionFilter"
+ class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.DiagramColorsAndFontsPropertySection"
+ tab="property.tab.AppearancePropertySection">
+ </propertySection>
+ <propertySection id="property.section.RulerGridPropertySection"
+ filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.DiagramEditPartPropertySectionFilter"
+ class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.grid.RulerGridPropertySection"
+ tab="property.tab.DiagramPropertySection">
+ </propertySection>
+ <propertySection
+ id="property.section.domain"
+ tab="property.tab.domain"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet.AcorePropertySection">
+ <input type="org.eclipse.gmf.runtime.notation.View"/>
+ <input type="org.eclipse.gef.EditPart"/>
+ <input type="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
+ </propertySection>
+ </propertySections>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider">
+ <?gmfgen generated="true"?>
+ <viewProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreViewProvider">
+ <Priority name="Lowest"/>
+ <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="Acore"/>
+ <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="2001,2002,3001,3002,3003,3004"/>
+ <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001,4002,4003,4004,4005"/>
+ </viewProvider>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders" id="ep-provider">
+ <?gmfgen generated="true"?>
+ <editpartProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreEditPartProvider">
+ <Priority name="Lowest"/>
+ <object class="org.eclipse.gmf.runtime.notation.Diagram" id="generated-diagram">
+ <method name="getType()" value="Acore"/>
+ </object>
+ <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-nodes">
+ <method name="getType()" value="2001,2002,3001,3002,3003,3004"/>
+ </object>
+ <object class="org.eclipse.gmf.runtime.notation.Edge" id="generated-links">
+ <method name="getType()" value="4001,4002,4003,4004,4005"/>
+ </object>
+ <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-labels">
+ <method name="getType()" value="5001,5002"/>
+ </object>
+ <object class="org.eclipse.gmf.runtime.notation.Node" id="generated-compartments">
+ <method name="getType()" value="7001,7002,7003,7004"/>
+ </object>
+ <context views="generated-diagram,generated-nodes,generated-links,generated-labels,generated-compartments"/>
+ </editpartProvider>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders" id="modelassist-provider">
+ <?gmfgen generated="true"?>
+ <modelingAssistantProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreModelingAssistantProvider">
+ <Priority name="Lowest"/>
+ <object class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart" id="ACoreRoot_1000"/>
+ <object class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart" id="AInterface_2001"/>
+ <object class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart" id="AClass_2002"/>
+ <context elements="ACoreRoot_1000,AInterface_2001,AClass_2002"/>
+ </modelingAssistantProvider>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.common.ui.services.iconProviders" id="icon-provider">
+ <?gmfgen generated="true"?>
+ <IconProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreIconProvider">
+ <Priority name="Low"/>
+ </IconProvider>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.common.ui.services.parserProviders" id="parser-provider">
+ <?gmfgen generated="true"?>
+ <ParserProvider class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider">
+ <Priority name="Lowest"/>
+ </ParserProvider>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes" id="element-types">
+ <?gmfgen generated="true"?>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <metamodelType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ACoreRoot_1000"
+ name="%metatype.name.ACoreRoot_1000"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="ACoreRoot"
+ edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.ACoreRootEditHelper">
+ <param name="semanticHint" value="1000"/>
+ </metamodelType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <metamodelType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AInterface_2001"
+ name="%metatype.name.AInterface_2001"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="AInterface"
+ edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AInterfaceEditHelper">
+ <param name="semanticHint" value="2001"/>
+ </metamodelType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <metamodelType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClass_2002"
+ name="%metatype.name.AClass_2002"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="AClass"
+ edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AClassEditHelper">
+ <param name="semanticHint" value="2002"/>
+ </metamodelType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <metamodelType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"
+ name="%metatype.name.AAttribute_3001"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="AAttribute"
+ edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AAttributeEditHelper">
+ <param name="semanticHint" value="3001"/>
+ </metamodelType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <metamodelType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"
+ name="%metatype.name.AOperation_3002"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ eclass="AOperation"
+ edithelper="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AOperationEditHelper">
+ <param name="semanticHint" value="3002"/>
+ </metamodelType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3003"
+ name="%metatype.name.AAttribute_3003"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"/>
+ <param name="semanticHint" value="3003"/>
+ </specializationType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3004"
+ name="%metatype.name.AOperation_3004"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"/>
+ <param name="semanticHint" value="3004"/>
+ </specializationType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassSubClasses_4001"
+ name="%metatype.name.AClassSubClasses_4001"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
+ <param name="semanticHint" value="4001"/>
+ </specializationType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassImplementedInterfaces_4002"
+ name="%metatype.name.AClassImplementedInterfaces_4002"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
+ <param name="semanticHint" value="4002"/>
+ </specializationType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAssociations_4003"
+ name="%metatype.name.AClassAssociations_4003"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
+ <param name="semanticHint" value="4003"/>
+ </specializationType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAggregations_4004"
+ name="%metatype.name.AClassAggregations_4004"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
+ <param name="semanticHint" value="4004"/>
+ </specializationType>
+ </metamodel>
+ <metamodel nsURI="http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore">
+ <specializationType
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassCompositions_4005"
+ name="%metatype.name.AClassCompositions_4005"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
+ <param name="semanticHint" value="4005"/>
+ </specializationType>
+ </metamodel>
+ </extension>
+
+ <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings" id="element-types-bindings">
+ <?gmfgen generated="true"?>
+ <clientContext id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.TypeContext">
+ <enablement>
+ <test
+ property="org.eclipse.gmf.runtime.emf.core.editingDomain"
+ value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.EditingDomain"/>
+ </enablement>
+ </clientContext>
+ <binding context="org.eclipse.emf.cdo.dawn.examples.acore.diagram.TypeContext">
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ACoreRoot_1000"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AInterface_2001"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClass_2002"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3003"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3004"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassSubClasses_4001"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassImplementedInterfaces_4002"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAssociations_4003"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAggregations_4004"/>
+ <elementType ref="org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassCompositions_4005"/>
+ <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
+ </binding>
+ </extension>
+ <extension point="org.eclipse.core.expressions.propertyTesters" id="navigator-proptest.isURIEditorInput">
+ <?gmfgen generated="true"?>
+ <propertyTester
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.URIEditorInputPropertyTester"
+ type="org.eclipse.emf.common.ui.URIEditorInput"
+ namespace="org.eclipse.emf.cdo.dawn.examples.acore.diagram"
+ properties="isURIEditorInput"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreUriEditorInputTester">
+ </propertyTester>
+ </extension>
+
+ <extension point="org.eclipse.ui.navigator.viewer" id="navigator-viewbinding">
+ <?gmfgen generated="true"?>
+ <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
+ <includes>
+ <contentExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.resourceContent"/>
+ <contentExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.domainResourceContent"/>
+ <contentExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorLinkHelper"/>
+ </includes>
+ </viewerContentBinding>
+ <viewerActionBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
+ <includes>
+ <actionExtension pattern="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorActionProvider"/>
+ </includes>
+ </viewerActionBinding>
+ </extension>
+
+ <extension point="org.eclipse.ui.navigator.navigatorContent" id="navigator-content">
+ <?gmfgen generated="true"?>
+ <navigatorContent
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.resourceContent"
+ name="%navigatorContentName"
+ priority="normal"
+ contentProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorContentProvider"
+ labelProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorLabelProvider"
+ icon="icons/obj16/AcoreDiagramFile.gif"
+ activeByDefault="true">
+ <triggerPoints>
+ <or>
+ <and>
+ <instanceof value="org.eclipse.core.resources.IFile"/>
+ <test property="org.eclipse.core.resources.extension" value="acore_diagram"/>
+ </and>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
+ </or>
+ </triggerPoints>
+ <possibleChildren>
+ <or>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
+ </or>
+ </possibleChildren>
+ <commonSorter
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorSorter"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorSorter">
+ <parentExpression>
+ <or>
+ <and>
+ <instanceof value="org.eclipse.core.resources.IFile"/>
+ <test property="org.eclipse.core.resources.extension" value="acore_diagram"/>
+ </and>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
+ </or>
+ </parentExpression>
+ </commonSorter>
+ </navigatorContent>
+ <navigatorContent
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.domainResourceContent"
+ name="%domainNavigatorContentName"
+ priority="normal"
+ contentProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorContentProvider"
+ labelProvider="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorLabelProvider"
+ icon="icons/obj16/AcoreDiagramFile.gif"
+ activeByDefault="true">
+ <triggerPoints>
+ <or>
+ <and>
+ <instanceof value="org.eclipse.core.resources.IFile"/>
+ <test property="org.eclipse.core.resources.extension" value="acore"/>
+ </and>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem"/>
+ </or>
+ </triggerPoints>
+ <possibleChildren>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem"/>
+ </possibleChildren>
+ </navigatorContent>
+ <actionProvider
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorActionProvider"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorActionProvider">
+ <enablement>
+ <or>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
+ </or>
+ </enablement>
+ </actionProvider>
+ </extension>
+
+ <extension point="org.eclipse.ui.navigator.linkHelper" id="navigator-linkhelper">
+ <?gmfgen generated="true"?>
+ <linkHelper
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigatorLinkHelper"
+ class="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorLinkHelper">
+ <editorInputEnablement>
+ <and>
+ <instanceof value="org.eclipse.emf.common.ui.URIEditorInput"/>
+ <test property="org.eclipse.emf.cdo.dawn.examples.acore.diagram.isURIEditorInput"/>
+ </and>
+ </editorInputEnablement>
+ <selectionEnablement>
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem"/>
+ </selectionEnablement>
+ </linkHelper>
+ </extension>
+ <extension point="org.eclipse.ui.commands" id="update-cmd">
+ <?gmfgen generated="true"?>
+ <command
+ categoryId="org.eclipse.ui.category.edit"
+ defaultHandler="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdateCommand"
+ description="%update.diagram.description"
+ id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.updateDiagram"
+ name="%update.diagram.name"/>
+ </extension>
+
+ <extension point="org.eclipse.ui.bindings" id="update-cmd-binding">
+ <?gmfgen generated="true"?>
+ <key
+ commandId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.updateDiagram"
+ contextId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.ui.diagramContext"
+ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+ sequence="F5"/>
+ </extension>
+
+ <extension point="org.eclipse.ui.menus" id="context-menus">
+ <?gmfgen generated="true"?>
+ <!-- menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=">
+ </menuContribution>
+ <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=">
+ </menuContribution -->
+ <menuContribution locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu">
+ <command commandId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.LoadResourceAction">
+ <visibleWhen>
+ <and>
+ <with variable="activePartId"><equals value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"/></with>
+ <with variable="selection"><iterate ifEmpty="false">
+ <instanceof value="org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart"/>
+ </iterate></with>
+ </and>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+
+ <extension point="org.eclipse.ui.commands" id="menu-commands">
+ <?gmfgen generated="true"?>
+ <category id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID" name="%cmdcategory.name" description="%cmdcategory.desc"/>
+ <command id="org.eclipse.emf.cdo.dawn.examples.acore.diagram.LoadResourceAction"
+ name="Load Resource"
+ categoryId="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"
+ defaultHandler="org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.LoadResourceAction"/>
+ </extension>
+
+ <extension point="org.eclipse.ui.handlers" id="menu-handlers">
+ <?gmfgen generated="true"?>
+ </extension>
+
+ <!-- optionally, specify keybindings -->
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttribute2CreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttribute2CreateCommand.java
index 116273e8a7..5da19ac916 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttribute2CreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttribute2CreateCommand.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
-import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AAttribute2CreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- public AAttribute2CreateCommand(CreateElementRequest req)
- {
- super(req.getLabel(), null, req);
- }
-
- /**
- * FIXME: replace with setElementToEdit()
- *
- * @generated
- */
- protected EObject getElementToEdit()
- {
- EObject container = ((CreateElementRequest)getRequest()).getContainer();
- if (container instanceof View)
- {
- container = ((View)container).getElement();
- }
- return container;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- return true;
-
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- AAttribute newElement = AcoreFactory.eINSTANCE.createAAttribute();
-
- ABasicClass owner = (ABasicClass)getElementToEdit();
- owner.getAttributes().add(newElement);
-
- doConfigure(newElement, monitor, info);
-
- ((CreateElementRequest)getRequest()).setNewElement(newElement);
- return CommandResult.newOKCommandResult(newElement);
- }
-
- /**
- * @generated
- */
- protected void doConfigure(AAttribute newElement, IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
- ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
- configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
- configureRequest.addParameters(getRequest().getParameters());
- ICommand configureCommand = elementType.getEditCommand(configureRequest);
- if (configureCommand != null && configureCommand.canExecute())
- {
- configureCommand.execute(monitor, info);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
+import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AAttribute2CreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ public AAttribute2CreateCommand(CreateElementRequest req)
+ {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit()
+ {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if (container instanceof View)
+ {
+ container = ((View)container).getElement();
+ }
+ return container;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ return true;
+
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ AAttribute newElement = AcoreFactory.eINSTANCE.createAAttribute();
+
+ ABasicClass owner = (ABasicClass)getElementToEdit();
+ owner.getAttributes().add(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(AAttribute newElement, IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException
+ {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if (configureCommand != null && configureCommand.canExecute())
+ {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttributeCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttributeCreateCommand.java
index e62293c931..65f4d3e058 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttributeCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AAttributeCreateCommand.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
-import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AAttributeCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- public AAttributeCreateCommand(CreateElementRequest req)
- {
- super(req.getLabel(), null, req);
- }
-
- /**
- * FIXME: replace with setElementToEdit()
- *
- * @generated
- */
- protected EObject getElementToEdit()
- {
- EObject container = ((CreateElementRequest)getRequest()).getContainer();
- if (container instanceof View)
- {
- container = ((View)container).getElement();
- }
- return container;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- return true;
-
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- AAttribute newElement = AcoreFactory.eINSTANCE.createAAttribute();
-
- ABasicClass owner = (ABasicClass)getElementToEdit();
- owner.getAttributes().add(newElement);
-
- doConfigure(newElement, monitor, info);
-
- ((CreateElementRequest)getRequest()).setNewElement(newElement);
- return CommandResult.newOKCommandResult(newElement);
- }
-
- /**
- * @generated
- */
- protected void doConfigure(AAttribute newElement, IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
- ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
- configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
- configureRequest.addParameters(getRequest().getParameters());
- ICommand configureCommand = elementType.getEditCommand(configureRequest);
- if (configureCommand != null && configureCommand.canExecute())
- {
- configureCommand.execute(monitor, info);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
+import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AAttributeCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ public AAttributeCreateCommand(CreateElementRequest req)
+ {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit()
+ {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if (container instanceof View)
+ {
+ container = ((View)container).getElement();
+ }
+ return container;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ return true;
+
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ AAttribute newElement = AcoreFactory.eINSTANCE.createAAttribute();
+
+ ABasicClass owner = (ABasicClass)getElementToEdit();
+ owner.getAttributes().add(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(AAttribute newElement, IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException
+ {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if (configureCommand != null && configureCommand.canExecute())
+ {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsCreateCommand.java
index 8e21ad7f20..2dddb72ec7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsCreateCommand.java
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassAggregationsCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final EObject source;
-
- /**
- * @generated
- */
- private final EObject target;
-
- /**
- * @generated
- */
- public AClassAggregationsCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
- {
- super(request.getLabel(), null, request);
- this.source = source;
- this.target = target;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (source == null && target == null)
- {
- return false;
- }
- if (source != null && false == source instanceof AClass)
- {
- return false;
- }
- if (target != null && false == target instanceof AClass)
- {
- return false;
- }
- if (getSource() == null)
- {
- return true; // link creation is in progress; source is not defined yet
- }
- // target may be null here but it's possible to check constraint
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassAggregations_4004(getSource(), getTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
- }
-
- if (getSource() != null && getTarget() != null)
- {
- getSource().getAggregations().add(getTarget());
- }
- return CommandResult.newOKCommandResult();
-
- }
-
- /**
- * @generated
- */
- protected void setElementToEdit(EObject element)
- {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @generated
- */
- protected AClass getSource()
- {
- return (AClass)source;
- }
-
- /**
- * @generated
- */
- protected AClass getTarget()
- {
- return (AClass)target;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassAggregationsCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final EObject source;
+
+ /**
+ * @generated
+ */
+ private final EObject target;
+
+ /**
+ * @generated
+ */
+ public AClassAggregationsCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
+ {
+ super(request.getLabel(), null, request);
+ this.source = source;
+ this.target = target;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (source == null && target == null)
+ {
+ return false;
+ }
+ if (source != null && false == source instanceof AClass)
+ {
+ return false;
+ }
+ if (target != null && false == target instanceof AClass)
+ {
+ return false;
+ }
+ if (getSource() == null)
+ {
+ return true; // link creation is in progress; source is not defined yet
+ }
+ // target may be null here but it's possible to check constraint
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassAggregations_4004(getSource(), getTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
+ }
+
+ if (getSource() != null && getTarget() != null)
+ {
+ getSource().getAggregations().add(getTarget());
+ }
+ return CommandResult.newOKCommandResult();
+
+ }
+
+ /**
+ * @generated
+ */
+ protected void setElementToEdit(EObject element)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getSource()
+ {
+ return (AClass)source;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getTarget()
+ {
+ return (AClass)target;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsReorientCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsReorientCommand.java
index f2bda55b40..255f919652 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsReorientCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAggregationsReorientCommand.java
@@ -1,182 +1,182 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassAggregationsReorientCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final int reorientDirection;
-
- /**
- * @generated
- */
- private final EObject referenceOwner;
-
- /**
- * @generated
- */
- private final EObject oldEnd;
-
- /**
- * @generated
- */
- private final EObject newEnd;
-
- /**
- * @generated
- */
- public AClassAggregationsReorientCommand(ReorientReferenceRelationshipRequest request)
- {
- super(request.getLabel(), null, request);
- reorientDirection = request.getDirection();
- referenceOwner = request.getReferenceOwner();
- oldEnd = request.getOldRelationshipEnd();
- newEnd = request.getNewRelationshipEnd();
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (false == referenceOwner instanceof AClass)
- {
- return false;
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return canReorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return canReorientTarget();
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean canReorientSource()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAggregations_4004(getNewSource(),
- getOldTarget());
- }
-
- /**
- * @generated
- */
- protected boolean canReorientTarget()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAggregations_4004(getOldSource(),
- getNewTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return reorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return reorientTarget();
- }
- throw new IllegalStateException();
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientSource() throws ExecutionException
- {
- getOldSource().getAggregations().remove(getOldTarget());
- getNewSource().getAggregations().add(getOldTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientTarget() throws ExecutionException
- {
- getOldSource().getAggregations().remove(getOldTarget());
- getOldSource().getAggregations().add(getNewTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected AClass getOldSource()
- {
- return (AClass)referenceOwner;
- }
-
- /**
- * @generated
- */
- protected AClass getNewSource()
- {
- return (AClass)newEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getOldTarget()
- {
- return (AClass)oldEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getNewTarget()
- {
- return (AClass)newEnd;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassAggregationsReorientCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject referenceOwner;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public AClassAggregationsReorientCommand(ReorientReferenceRelationshipRequest request)
+ {
+ super(request.getLabel(), null, request);
+ reorientDirection = request.getDirection();
+ referenceOwner = request.getReferenceOwner();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (false == referenceOwner instanceof AClass)
+ {
+ return false;
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return canReorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAggregations_4004(getNewSource(),
+ getOldTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAggregations_4004(getOldSource(),
+ getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return reorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException
+ {
+ getOldSource().getAggregations().remove(getOldTarget());
+ getNewSource().getAggregations().add(getOldTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException
+ {
+ getOldSource().getAggregations().remove(getOldTarget());
+ getOldSource().getAggregations().add(getNewTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldSource()
+ {
+ return (AClass)referenceOwner;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewSource()
+ {
+ return (AClass)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldTarget()
+ {
+ return (AClass)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewTarget()
+ {
+ return (AClass)newEnd;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsCreateCommand.java
index 029e79b740..29ce911dfa 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsCreateCommand.java
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassAssociationsCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final EObject source;
-
- /**
- * @generated
- */
- private final EObject target;
-
- /**
- * @generated
- */
- public AClassAssociationsCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
- {
- super(request.getLabel(), null, request);
- this.source = source;
- this.target = target;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (source == null && target == null)
- {
- return false;
- }
- if (source != null && false == source instanceof AClass)
- {
- return false;
- }
- if (target != null && false == target instanceof AClass)
- {
- return false;
- }
- if (getSource() == null)
- {
- return true; // link creation is in progress; source is not defined yet
- }
- // target may be null here but it's possible to check constraint
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassAssociations_4003(getSource(), getTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
- }
-
- if (getSource() != null && getTarget() != null)
- {
- getSource().getAssociations().add(getTarget());
- }
- return CommandResult.newOKCommandResult();
-
- }
-
- /**
- * @generated
- */
- protected void setElementToEdit(EObject element)
- {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @generated
- */
- protected AClass getSource()
- {
- return (AClass)source;
- }
-
- /**
- * @generated
- */
- protected AClass getTarget()
- {
- return (AClass)target;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassAssociationsCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final EObject source;
+
+ /**
+ * @generated
+ */
+ private final EObject target;
+
+ /**
+ * @generated
+ */
+ public AClassAssociationsCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
+ {
+ super(request.getLabel(), null, request);
+ this.source = source;
+ this.target = target;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (source == null && target == null)
+ {
+ return false;
+ }
+ if (source != null && false == source instanceof AClass)
+ {
+ return false;
+ }
+ if (target != null && false == target instanceof AClass)
+ {
+ return false;
+ }
+ if (getSource() == null)
+ {
+ return true; // link creation is in progress; source is not defined yet
+ }
+ // target may be null here but it's possible to check constraint
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassAssociations_4003(getSource(), getTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
+ }
+
+ if (getSource() != null && getTarget() != null)
+ {
+ getSource().getAssociations().add(getTarget());
+ }
+ return CommandResult.newOKCommandResult();
+
+ }
+
+ /**
+ * @generated
+ */
+ protected void setElementToEdit(EObject element)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getSource()
+ {
+ return (AClass)source;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getTarget()
+ {
+ return (AClass)target;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsReorientCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsReorientCommand.java
index 978bba6111..b16ed5bbf3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsReorientCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassAssociationsReorientCommand.java
@@ -1,182 +1,182 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassAssociationsReorientCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final int reorientDirection;
-
- /**
- * @generated
- */
- private final EObject referenceOwner;
-
- /**
- * @generated
- */
- private final EObject oldEnd;
-
- /**
- * @generated
- */
- private final EObject newEnd;
-
- /**
- * @generated
- */
- public AClassAssociationsReorientCommand(ReorientReferenceRelationshipRequest request)
- {
- super(request.getLabel(), null, request);
- reorientDirection = request.getDirection();
- referenceOwner = request.getReferenceOwner();
- oldEnd = request.getOldRelationshipEnd();
- newEnd = request.getNewRelationshipEnd();
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (false == referenceOwner instanceof AClass)
- {
- return false;
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return canReorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return canReorientTarget();
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean canReorientSource()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAssociations_4003(getNewSource(),
- getOldTarget());
- }
-
- /**
- * @generated
- */
- protected boolean canReorientTarget()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAssociations_4003(getOldSource(),
- getNewTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return reorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return reorientTarget();
- }
- throw new IllegalStateException();
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientSource() throws ExecutionException
- {
- getOldSource().getAssociations().remove(getOldTarget());
- getNewSource().getAssociations().add(getOldTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientTarget() throws ExecutionException
- {
- getOldSource().getAssociations().remove(getOldTarget());
- getOldSource().getAssociations().add(getNewTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected AClass getOldSource()
- {
- return (AClass)referenceOwner;
- }
-
- /**
- * @generated
- */
- protected AClass getNewSource()
- {
- return (AClass)newEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getOldTarget()
- {
- return (AClass)oldEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getNewTarget()
- {
- return (AClass)newEnd;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassAssociationsReorientCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject referenceOwner;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public AClassAssociationsReorientCommand(ReorientReferenceRelationshipRequest request)
+ {
+ super(request.getLabel(), null, request);
+ reorientDirection = request.getDirection();
+ referenceOwner = request.getReferenceOwner();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (false == referenceOwner instanceof AClass)
+ {
+ return false;
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return canReorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAssociations_4003(getNewSource(),
+ getOldTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassAssociations_4003(getOldSource(),
+ getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return reorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException
+ {
+ getOldSource().getAssociations().remove(getOldTarget());
+ getNewSource().getAssociations().add(getOldTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException
+ {
+ getOldSource().getAssociations().remove(getOldTarget());
+ getOldSource().getAssociations().add(getNewTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldSource()
+ {
+ return (AClass)referenceOwner;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewSource()
+ {
+ return (AClass)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldTarget()
+ {
+ return (AClass)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewTarget()
+ {
+ return (AClass)newEnd;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsCreateCommand.java
index 2c9c79131f..cf0b1983a0 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsCreateCommand.java
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassCompositionsCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final EObject source;
-
- /**
- * @generated
- */
- private final EObject target;
-
- /**
- * @generated
- */
- public AClassCompositionsCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
- {
- super(request.getLabel(), null, request);
- this.source = source;
- this.target = target;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (source == null && target == null)
- {
- return false;
- }
- if (source != null && false == source instanceof AClass)
- {
- return false;
- }
- if (target != null && false == target instanceof AClass)
- {
- return false;
- }
- if (getSource() == null)
- {
- return true; // link creation is in progress; source is not defined yet
- }
- // target may be null here but it's possible to check constraint
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassCompositions_4005(getSource(), getTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
- }
-
- if (getSource() != null && getTarget() != null)
- {
- getSource().getCompositions().add(getTarget());
- }
- return CommandResult.newOKCommandResult();
-
- }
-
- /**
- * @generated
- */
- protected void setElementToEdit(EObject element)
- {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @generated
- */
- protected AClass getSource()
- {
- return (AClass)source;
- }
-
- /**
- * @generated
- */
- protected AClass getTarget()
- {
- return (AClass)target;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassCompositionsCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final EObject source;
+
+ /**
+ * @generated
+ */
+ private final EObject target;
+
+ /**
+ * @generated
+ */
+ public AClassCompositionsCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
+ {
+ super(request.getLabel(), null, request);
+ this.source = source;
+ this.target = target;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (source == null && target == null)
+ {
+ return false;
+ }
+ if (source != null && false == source instanceof AClass)
+ {
+ return false;
+ }
+ if (target != null && false == target instanceof AClass)
+ {
+ return false;
+ }
+ if (getSource() == null)
+ {
+ return true; // link creation is in progress; source is not defined yet
+ }
+ // target may be null here but it's possible to check constraint
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassCompositions_4005(getSource(), getTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
+ }
+
+ if (getSource() != null && getTarget() != null)
+ {
+ getSource().getCompositions().add(getTarget());
+ }
+ return CommandResult.newOKCommandResult();
+
+ }
+
+ /**
+ * @generated
+ */
+ protected void setElementToEdit(EObject element)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getSource()
+ {
+ return (AClass)source;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getTarget()
+ {
+ return (AClass)target;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsReorientCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsReorientCommand.java
index 72ccc734b2..53afaa928e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsReorientCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCompositionsReorientCommand.java
@@ -1,182 +1,182 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassCompositionsReorientCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final int reorientDirection;
-
- /**
- * @generated
- */
- private final EObject referenceOwner;
-
- /**
- * @generated
- */
- private final EObject oldEnd;
-
- /**
- * @generated
- */
- private final EObject newEnd;
-
- /**
- * @generated
- */
- public AClassCompositionsReorientCommand(ReorientReferenceRelationshipRequest request)
- {
- super(request.getLabel(), null, request);
- reorientDirection = request.getDirection();
- referenceOwner = request.getReferenceOwner();
- oldEnd = request.getOldRelationshipEnd();
- newEnd = request.getNewRelationshipEnd();
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (false == referenceOwner instanceof AClass)
- {
- return false;
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return canReorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return canReorientTarget();
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean canReorientSource()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassCompositions_4005(getNewSource(),
- getOldTarget());
- }
-
- /**
- * @generated
- */
- protected boolean canReorientTarget()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassCompositions_4005(getOldSource(),
- getNewTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return reorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return reorientTarget();
- }
- throw new IllegalStateException();
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientSource() throws ExecutionException
- {
- getOldSource().getCompositions().remove(getOldTarget());
- getNewSource().getCompositions().add(getOldTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientTarget() throws ExecutionException
- {
- getOldSource().getCompositions().remove(getOldTarget());
- getOldSource().getCompositions().add(getNewTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected AClass getOldSource()
- {
- return (AClass)referenceOwner;
- }
-
- /**
- * @generated
- */
- protected AClass getNewSource()
- {
- return (AClass)newEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getOldTarget()
- {
- return (AClass)oldEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getNewTarget()
- {
- return (AClass)newEnd;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassCompositionsReorientCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject referenceOwner;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public AClassCompositionsReorientCommand(ReorientReferenceRelationshipRequest request)
+ {
+ super(request.getLabel(), null, request);
+ reorientDirection = request.getDirection();
+ referenceOwner = request.getReferenceOwner();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (false == referenceOwner instanceof AClass)
+ {
+ return false;
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return canReorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassCompositions_4005(getNewSource(),
+ getOldTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassCompositions_4005(getOldSource(),
+ getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return reorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException
+ {
+ getOldSource().getCompositions().remove(getOldTarget());
+ getNewSource().getCompositions().add(getOldTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException
+ {
+ getOldSource().getCompositions().remove(getOldTarget());
+ getOldSource().getCompositions().add(getNewTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldSource()
+ {
+ return (AClass)referenceOwner;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewSource()
+ {
+ return (AClass)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldTarget()
+ {
+ return (AClass)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewTarget()
+ {
+ return (AClass)newEnd;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCreateCommand.java
index 40e351fa75..2c8fcd7059 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassCreateCommand.java
@@ -1,101 +1,101 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AClassCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- public AClassCreateCommand(CreateElementRequest req)
- {
- super(req.getLabel(), null, req);
- }
-
- /**
- * FIXME: replace with setElementToEdit()
- *
- * @generated
- */
- protected EObject getElementToEdit()
- {
- EObject container = ((CreateElementRequest)getRequest()).getContainer();
- if (container instanceof View)
- {
- container = ((View)container).getElement();
- }
- return container;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- return true;
-
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- AClass newElement = AcoreFactory.eINSTANCE.createAClass();
-
- ACoreRoot owner = (ACoreRoot)getElementToEdit();
- owner.getClasses().add(newElement);
-
- doConfigure(newElement, monitor, info);
-
- ((CreateElementRequest)getRequest()).setNewElement(newElement);
- return CommandResult.newOKCommandResult(newElement);
- }
-
- /**
- * @generated
- */
- protected void doConfigure(AClass newElement, IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
- ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
- configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
- configureRequest.addParameters(getRequest().getParameters());
- ICommand configureCommand = elementType.getEditCommand(configureRequest);
- if (configureCommand != null && configureCommand.canExecute())
- {
- configureCommand.execute(monitor, info);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AClassCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ public AClassCreateCommand(CreateElementRequest req)
+ {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit()
+ {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if (container instanceof View)
+ {
+ container = ((View)container).getElement();
+ }
+ return container;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ return true;
+
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ AClass newElement = AcoreFactory.eINSTANCE.createAClass();
+
+ ACoreRoot owner = (ACoreRoot)getElementToEdit();
+ owner.getClasses().add(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(AClass newElement, IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if (configureCommand != null && configureCommand.canExecute())
+ {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesCreateCommand.java
index 36b091094b..00525674db 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesCreateCommand.java
@@ -1,120 +1,120 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassImplementedInterfacesCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final EObject source;
-
- /**
- * @generated
- */
- private final EObject target;
-
- /**
- * @generated
- */
- public AClassImplementedInterfacesCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
- {
- super(request.getLabel(), null, request);
- this.source = source;
- this.target = target;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (source == null && target == null)
- {
- return false;
- }
- if (source != null && false == source instanceof AClass)
- {
- return false;
- }
- if (target != null && false == target instanceof AInterface)
- {
- return false;
- }
- if (getSource() == null)
- {
- return true; // link creation is in progress; source is not defined yet
- }
- // target may be null here but it's possible to check constraint
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassImplementedInterfaces_4002(getSource(),
- getTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
- }
-
- if (getSource() != null && getTarget() != null)
- {
- getSource().getImplementedInterfaces().add(getTarget());
- }
- return CommandResult.newOKCommandResult();
-
- }
-
- /**
- * @generated
- */
- protected void setElementToEdit(EObject element)
- {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @generated
- */
- protected AClass getSource()
- {
- return (AClass)source;
- }
-
- /**
- * @generated
- */
- protected AInterface getTarget()
- {
- return (AInterface)target;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassImplementedInterfacesCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final EObject source;
+
+ /**
+ * @generated
+ */
+ private final EObject target;
+
+ /**
+ * @generated
+ */
+ public AClassImplementedInterfacesCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
+ {
+ super(request.getLabel(), null, request);
+ this.source = source;
+ this.target = target;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (source == null && target == null)
+ {
+ return false;
+ }
+ if (source != null && false == source instanceof AClass)
+ {
+ return false;
+ }
+ if (target != null && false == target instanceof AInterface)
+ {
+ return false;
+ }
+ if (getSource() == null)
+ {
+ return true; // link creation is in progress; source is not defined yet
+ }
+ // target may be null here but it's possible to check constraint
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassImplementedInterfaces_4002(getSource(),
+ getTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
+ }
+
+ if (getSource() != null && getTarget() != null)
+ {
+ getSource().getImplementedInterfaces().add(getTarget());
+ }
+ return CommandResult.newOKCommandResult();
+
+ }
+
+ /**
+ * @generated
+ */
+ protected void setElementToEdit(EObject element)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getSource()
+ {
+ return (AClass)source;
+ }
+
+ /**
+ * @generated
+ */
+ protected AInterface getTarget()
+ {
+ return (AInterface)target;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesReorientCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesReorientCommand.java
index bed77d2f9f..fd421e8fda 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesReorientCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassImplementedInterfacesReorientCommand.java
@@ -1,183 +1,183 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassImplementedInterfacesReorientCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final int reorientDirection;
-
- /**
- * @generated
- */
- private final EObject referenceOwner;
-
- /**
- * @generated
- */
- private final EObject oldEnd;
-
- /**
- * @generated
- */
- private final EObject newEnd;
-
- /**
- * @generated
- */
- public AClassImplementedInterfacesReorientCommand(ReorientReferenceRelationshipRequest request)
- {
- super(request.getLabel(), null, request);
- reorientDirection = request.getDirection();
- referenceOwner = request.getReferenceOwner();
- oldEnd = request.getOldRelationshipEnd();
- newEnd = request.getNewRelationshipEnd();
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (false == referenceOwner instanceof AClass)
- {
- return false;
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return canReorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return canReorientTarget();
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean canReorientSource()
- {
- if (!(oldEnd instanceof AInterface && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassImplementedInterfaces_4002(getNewSource(),
- getOldTarget());
- }
-
- /**
- * @generated
- */
- protected boolean canReorientTarget()
- {
- if (!(oldEnd instanceof AInterface && newEnd instanceof AInterface))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassImplementedInterfaces_4002(getOldSource(),
- getNewTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return reorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return reorientTarget();
- }
- throw new IllegalStateException();
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientSource() throws ExecutionException
- {
- getOldSource().getImplementedInterfaces().remove(getOldTarget());
- getNewSource().getImplementedInterfaces().add(getOldTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientTarget() throws ExecutionException
- {
- getOldSource().getImplementedInterfaces().remove(getOldTarget());
- getOldSource().getImplementedInterfaces().add(getNewTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected AClass getOldSource()
- {
- return (AClass)referenceOwner;
- }
-
- /**
- * @generated
- */
- protected AClass getNewSource()
- {
- return (AClass)newEnd;
- }
-
- /**
- * @generated
- */
- protected AInterface getOldTarget()
- {
- return (AInterface)oldEnd;
- }
-
- /**
- * @generated
- */
- protected AInterface getNewTarget()
- {
- return (AInterface)newEnd;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassImplementedInterfacesReorientCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject referenceOwner;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public AClassImplementedInterfacesReorientCommand(ReorientReferenceRelationshipRequest request)
+ {
+ super(request.getLabel(), null, request);
+ reorientDirection = request.getDirection();
+ referenceOwner = request.getReferenceOwner();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (false == referenceOwner instanceof AClass)
+ {
+ return false;
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return canReorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource()
+ {
+ if (!(oldEnd instanceof AInterface && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassImplementedInterfaces_4002(getNewSource(),
+ getOldTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget()
+ {
+ if (!(oldEnd instanceof AInterface && newEnd instanceof AInterface))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canExistAClassImplementedInterfaces_4002(getOldSource(),
+ getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return reorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException
+ {
+ getOldSource().getImplementedInterfaces().remove(getOldTarget());
+ getNewSource().getImplementedInterfaces().add(getOldTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException
+ {
+ getOldSource().getImplementedInterfaces().remove(getOldTarget());
+ getOldSource().getImplementedInterfaces().add(getNewTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldSource()
+ {
+ return (AClass)referenceOwner;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewSource()
+ {
+ return (AClass)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AInterface getOldTarget()
+ {
+ return (AInterface)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AInterface getNewTarget()
+ {
+ return (AInterface)newEnd;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesCreateCommand.java
index 8d4c3d99e1..eb2957af29 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesCreateCommand.java
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassSubClassesCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final EObject source;
-
- /**
- * @generated
- */
- private final EObject target;
-
- /**
- * @generated
- */
- public AClassSubClassesCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
- {
- super(request.getLabel(), null, request);
- this.source = source;
- this.target = target;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (source == null && target == null)
- {
- return false;
- }
- if (source != null && false == source instanceof AClass)
- {
- return false;
- }
- if (target != null && false == target instanceof AClass)
- {
- return false;
- }
- if (getSource() == null)
- {
- return true; // link creation is in progress; source is not defined yet
- }
- // target may be null here but it's possible to check constraint
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassSubClasses_4001(getSource(), getTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
- }
-
- if (getSource() != null && getTarget() != null)
- {
- getSource().getSubClasses().add(getTarget());
- }
- return CommandResult.newOKCommandResult();
-
- }
-
- /**
- * @generated
- */
- protected void setElementToEdit(EObject element)
- {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @generated
- */
- protected AClass getSource()
- {
- return (AClass)source;
- }
-
- /**
- * @generated
- */
- protected AClass getTarget()
- {
- return (AClass)target;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassSubClassesCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final EObject source;
+
+ /**
+ * @generated
+ */
+ private final EObject target;
+
+ /**
+ * @generated
+ */
+ public AClassSubClassesCreateCommand(CreateRelationshipRequest request, EObject source, EObject target)
+ {
+ super(request.getLabel(), null, request);
+ this.source = source;
+ this.target = target;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (source == null && target == null)
+ {
+ return false;
+ }
+ if (source != null && false == source instanceof AClass)
+ {
+ return false;
+ }
+ if (target != null && false == target instanceof AClass)
+ {
+ return false;
+ }
+ if (getSource() == null)
+ {
+ return true; // link creation is in progress; source is not defined yet
+ }
+ // target may be null here but it's possible to check constraint
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints.canCreateAClassSubClasses_4001(getSource(), getTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
+ }
+
+ if (getSource() != null && getTarget() != null)
+ {
+ getSource().getSubClasses().add(getTarget());
+ }
+ return CommandResult.newOKCommandResult();
+
+ }
+
+ /**
+ * @generated
+ */
+ protected void setElementToEdit(EObject element)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getSource()
+ {
+ return (AClass)source;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getTarget()
+ {
+ return (AClass)target;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesReorientCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesReorientCommand.java
index abe92bf6ef..33f8107bfb 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesReorientCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AClassSubClassesReorientCommand.java
@@ -1,182 +1,182 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-
-/**
- * @generated
- */
-public class AClassSubClassesReorientCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- private final int reorientDirection;
-
- /**
- * @generated
- */
- private final EObject referenceOwner;
-
- /**
- * @generated
- */
- private final EObject oldEnd;
-
- /**
- * @generated
- */
- private final EObject newEnd;
-
- /**
- * @generated
- */
- public AClassSubClassesReorientCommand(ReorientReferenceRelationshipRequest request)
- {
- super(request.getLabel(), null, request);
- reorientDirection = request.getDirection();
- referenceOwner = request.getReferenceOwner();
- oldEnd = request.getOldRelationshipEnd();
- newEnd = request.getNewRelationshipEnd();
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- if (false == referenceOwner instanceof AClass)
- {
- return false;
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return canReorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return canReorientTarget();
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean canReorientSource()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints
- .canExistAClassSubClasses_4001(getNewSource(), getOldTarget());
- }
-
- /**
- * @generated
- */
- protected boolean canReorientTarget()
- {
- if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
- {
- return false;
- }
- return AcoreBaseItemSemanticEditPolicy.LinkConstraints
- .canExistAClassSubClasses_4001(getOldSource(), getNewTarget());
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- if (!canExecute())
- {
- throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
- {
- return reorientSource();
- }
- if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
- {
- return reorientTarget();
- }
- throw new IllegalStateException();
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientSource() throws ExecutionException
- {
- getOldSource().getSubClasses().remove(getOldTarget());
- getNewSource().getSubClasses().add(getOldTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected CommandResult reorientTarget() throws ExecutionException
- {
- getOldSource().getSubClasses().remove(getOldTarget());
- getOldSource().getSubClasses().add(getNewTarget());
- return CommandResult.newOKCommandResult(referenceOwner);
- }
-
- /**
- * @generated
- */
- protected AClass getOldSource()
- {
- return (AClass)referenceOwner;
- }
-
- /**
- * @generated
- */
- protected AClass getNewSource()
- {
- return (AClass)newEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getOldTarget()
- {
- return (AClass)oldEnd;
- }
-
- /**
- * @generated
- */
- protected AClass getNewTarget()
- {
- return (AClass)newEnd;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreBaseItemSemanticEditPolicy;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * @generated
+ */
+public class AClassSubClassesReorientCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ private final int reorientDirection;
+
+ /**
+ * @generated
+ */
+ private final EObject referenceOwner;
+
+ /**
+ * @generated
+ */
+ private final EObject oldEnd;
+
+ /**
+ * @generated
+ */
+ private final EObject newEnd;
+
+ /**
+ * @generated
+ */
+ public AClassSubClassesReorientCommand(ReorientReferenceRelationshipRequest request)
+ {
+ super(request.getLabel(), null, request);
+ reorientDirection = request.getDirection();
+ referenceOwner = request.getReferenceOwner();
+ oldEnd = request.getOldRelationshipEnd();
+ newEnd = request.getNewRelationshipEnd();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ if (false == referenceOwner instanceof AClass)
+ {
+ return false;
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return canReorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientSource()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints
+ .canExistAClassSubClasses_4001(getNewSource(), getOldTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean canReorientTarget()
+ {
+ if (!(oldEnd instanceof AClass && newEnd instanceof AClass))
+ {
+ return false;
+ }
+ return AcoreBaseItemSemanticEditPolicy.LinkConstraints
+ .canExistAClassSubClasses_4001(getOldSource(), getNewTarget());
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ if (!canExecute())
+ {
+ throw new ExecutionException("Invalid arguments in reorient link command"); //$NON-NLS-1$
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_SOURCE)
+ {
+ return reorientSource();
+ }
+ if (reorientDirection == ReorientRelationshipRequest.REORIENT_TARGET)
+ {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientSource() throws ExecutionException
+ {
+ getOldSource().getSubClasses().remove(getOldTarget());
+ getNewSource().getSubClasses().add(getOldTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult reorientTarget() throws ExecutionException
+ {
+ getOldSource().getSubClasses().remove(getOldTarget());
+ getOldSource().getSubClasses().add(getNewTarget());
+ return CommandResult.newOKCommandResult(referenceOwner);
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldSource()
+ {
+ return (AClass)referenceOwner;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewSource()
+ {
+ return (AClass)newEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getOldTarget()
+ {
+ return (AClass)oldEnd;
+ }
+
+ /**
+ * @generated
+ */
+ protected AClass getNewTarget()
+ {
+ return (AClass)newEnd;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AInterfaceCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AInterfaceCreateCommand.java
index e1b3526947..3c84685886 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AInterfaceCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AInterfaceCreateCommand.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AInterfaceCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- public AInterfaceCreateCommand(CreateElementRequest req)
- {
- super(req.getLabel(), null, req);
- }
-
- /**
- * FIXME: replace with setElementToEdit()
- *
- * @generated
- */
- protected EObject getElementToEdit()
- {
- EObject container = ((CreateElementRequest)getRequest()).getContainer();
- if (container instanceof View)
- {
- container = ((View)container).getElement();
- }
- return container;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- return true;
-
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- AInterface newElement = AcoreFactory.eINSTANCE.createAInterface();
-
- ACoreRoot owner = (ACoreRoot)getElementToEdit();
- owner.getInterfaces().add(newElement);
-
- doConfigure(newElement, monitor, info);
-
- ((CreateElementRequest)getRequest()).setNewElement(newElement);
- return CommandResult.newOKCommandResult(newElement);
- }
-
- /**
- * @generated
- */
- protected void doConfigure(AInterface newElement, IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
- ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
- configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
- configureRequest.addParameters(getRequest().getParameters());
- ICommand configureCommand = elementType.getEditCommand(configureRequest);
- if (configureCommand != null && configureCommand.canExecute())
- {
- configureCommand.execute(monitor, info);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AInterfaceCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ public AInterfaceCreateCommand(CreateElementRequest req)
+ {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit()
+ {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if (container instanceof View)
+ {
+ container = ((View)container).getElement();
+ }
+ return container;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ return true;
+
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ AInterface newElement = AcoreFactory.eINSTANCE.createAInterface();
+
+ ACoreRoot owner = (ACoreRoot)getElementToEdit();
+ owner.getInterfaces().add(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(AInterface newElement, IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException
+ {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if (configureCommand != null && configureCommand.canExecute())
+ {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperation2CreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperation2CreateCommand.java
index 013bcdea73..098ad999fa 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperation2CreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperation2CreateCommand.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AOperation2CreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- public AOperation2CreateCommand(CreateElementRequest req)
- {
- super(req.getLabel(), null, req);
- }
-
- /**
- * FIXME: replace with setElementToEdit()
- *
- * @generated
- */
- protected EObject getElementToEdit()
- {
- EObject container = ((CreateElementRequest)getRequest()).getContainer();
- if (container instanceof View)
- {
- container = ((View)container).getElement();
- }
- return container;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- return true;
-
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- AOperation newElement = AcoreFactory.eINSTANCE.createAOperation();
-
- ABasicClass owner = (ABasicClass)getElementToEdit();
- owner.getOperations().add(newElement);
-
- doConfigure(newElement, monitor, info);
-
- ((CreateElementRequest)getRequest()).setNewElement(newElement);
- return CommandResult.newOKCommandResult(newElement);
- }
-
- /**
- * @generated
- */
- protected void doConfigure(AOperation newElement, IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
- ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
- configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
- configureRequest.addParameters(getRequest().getParameters());
- ICommand configureCommand = elementType.getEditCommand(configureRequest);
- if (configureCommand != null && configureCommand.canExecute())
- {
- configureCommand.execute(monitor, info);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AOperation2CreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ public AOperation2CreateCommand(CreateElementRequest req)
+ {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit()
+ {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if (container instanceof View)
+ {
+ container = ((View)container).getElement();
+ }
+ return container;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ return true;
+
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ AOperation newElement = AcoreFactory.eINSTANCE.createAOperation();
+
+ ABasicClass owner = (ABasicClass)getElementToEdit();
+ owner.getOperations().add(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(AOperation newElement, IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException
+ {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if (configureCommand != null && configureCommand.canExecute())
+ {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperationCreateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperationCreateCommand.java
index 11ae81aabc..574ca8f173 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperationCreateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/commands/AOperationCreateCommand.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AOperationCreateCommand extends EditElementCommand
-{
-
- /**
- * @generated
- */
- public AOperationCreateCommand(CreateElementRequest req)
- {
- super(req.getLabel(), null, req);
- }
-
- /**
- * FIXME: replace with setElementToEdit()
- *
- * @generated
- */
- protected EObject getElementToEdit()
- {
- EObject container = ((CreateElementRequest)getRequest()).getContainer();
- if (container instanceof View)
- {
- container = ((View)container).getElement();
- }
- return container;
- }
-
- /**
- * @generated
- */
- public boolean canExecute()
- {
- return true;
-
- }
-
- /**
- * @generated
- */
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- AOperation newElement = AcoreFactory.eINSTANCE.createAOperation();
-
- ABasicClass owner = (ABasicClass)getElementToEdit();
- owner.getOperations().add(newElement);
-
- doConfigure(newElement, monitor, info);
-
- ((CreateElementRequest)getRequest()).setNewElement(newElement);
- return CommandResult.newOKCommandResult(newElement);
- }
-
- /**
- * @generated
- */
- protected void doConfigure(AOperation newElement, IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
- ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
- configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
- configureRequest.addParameters(getRequest().getParameters());
- ICommand configureCommand = elementType.getEditCommand(configureRequest);
- if (configureCommand != null && configureCommand.canExecute())
- {
- configureCommand.execute(monitor, info);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ABasicClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AOperationCreateCommand extends EditElementCommand
+{
+
+ /**
+ * @generated
+ */
+ public AOperationCreateCommand(CreateElementRequest req)
+ {
+ super(req.getLabel(), null, req);
+ }
+
+ /**
+ * FIXME: replace with setElementToEdit()
+ *
+ * @generated
+ */
+ protected EObject getElementToEdit()
+ {
+ EObject container = ((CreateElementRequest)getRequest()).getContainer();
+ if (container instanceof View)
+ {
+ container = ((View)container).getElement();
+ }
+ return container;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean canExecute()
+ {
+ return true;
+
+ }
+
+ /**
+ * @generated
+ */
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ AOperation newElement = AcoreFactory.eINSTANCE.createAOperation();
+
+ ABasicClass owner = (ABasicClass)getElementToEdit();
+ owner.getOperations().add(newElement);
+
+ doConfigure(newElement, monitor, info);
+
+ ((CreateElementRequest)getRequest()).setNewElement(newElement);
+ return CommandResult.newOKCommandResult(newElement);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doConfigure(AOperation newElement, IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException
+ {
+ IElementType elementType = ((CreateElementRequest)getRequest()).getElementType();
+ ConfigureRequest configureRequest = new ConfigureRequest(getEditingDomain(), newElement, elementType);
+ configureRequest.setClientContext(((CreateElementRequest)getRequest()).getClientContext());
+ configureRequest.addParameters(getRequest().getParameters());
+ ICommand configureCommand = elementType.getEditCommand(configureRequest);
+ if (configureCommand != null && configureCommand.canExecute())
+ {
+ configureCommand.execute(monitor, info);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AAttributeEditHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AAttributeEditHelper.java
index 3a5875f45c..4fb3483349 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AAttributeEditHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AAttributeEditHelper.java
@@ -1,19 +1,19 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
-
-/**
- * @generated
- */
-public class AAttributeEditHelper extends AcoreBaseEditHelper
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
+
+/**
+ * @generated
+ */
+public class AAttributeEditHelper extends AcoreBaseEditHelper
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AClassEditHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AClassEditHelper.java
index 4d0f978a6e..178d40abc3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AClassEditHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AClassEditHelper.java
@@ -1,19 +1,19 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
-
-/**
- * @generated
- */
-public class AClassEditHelper extends AcoreBaseEditHelper
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
+
+/**
+ * @generated
+ */
+public class AClassEditHelper extends AcoreBaseEditHelper
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/ACoreRootEditHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/ACoreRootEditHelper.java
index 4d743c1604..029f8a294f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/ACoreRootEditHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/ACoreRootEditHelper.java
@@ -1,19 +1,19 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
-
-/**
- * @generated
- */
-public class ACoreRootEditHelper extends AcoreBaseEditHelper
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
+
+/**
+ * @generated
+ */
+public class ACoreRootEditHelper extends AcoreBaseEditHelper
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AInterfaceEditHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AInterfaceEditHelper.java
index 458de9b7fa..520b655de1 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AInterfaceEditHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AInterfaceEditHelper.java
@@ -1,19 +1,19 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
-
-/**
- * @generated
- */
-public class AInterfaceEditHelper extends AcoreBaseEditHelper
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
+
+/**
+ * @generated
+ */
+public class AInterfaceEditHelper extends AcoreBaseEditHelper
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AOperationEditHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AOperationEditHelper.java
index c09604c7e0..d9f8c9b9ad 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AOperationEditHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AOperationEditHelper.java
@@ -1,19 +1,19 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
-
-/**
- * @generated
- */
-public class AOperationEditHelper extends AcoreBaseEditHelper
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
+
+/**
+ * @generated
+ */
+public class AOperationEditHelper extends AcoreBaseEditHelper
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AcoreBaseEditHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AcoreBaseEditHelper.java
index 7f6c6c8f5b..38c541a880 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AcoreBaseEditHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/helpers/AcoreBaseEditHelper.java
@@ -1,108 +1,108 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
-
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelper;
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-
-/**
- * @generated
- */
-public class AcoreBaseEditHelper extends AbstractEditHelper
-{
-
- /**
- * @generated
- */
- public static final String EDIT_POLICY_COMMAND = "edit policy command"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final String CONTEXT_ELEMENT_TYPE = "context element type"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- protected IEditHelperAdvice[] getEditHelperAdvice(IEditCommandRequest req)
- {
- if (req.getParameter(CONTEXT_ELEMENT_TYPE) instanceof IElementType)
- {
- return ElementTypeRegistry.getInstance()
- .getEditHelperAdvice((IElementType)req.getParameter(CONTEXT_ELEMENT_TYPE));
- }
- return super.getEditHelperAdvice(req);
- }
-
- /**
- * @generated
- */
- protected ICommand getInsteadCommand(IEditCommandRequest req)
- {
- ICommand epCommand = (ICommand)req.getParameter(EDIT_POLICY_COMMAND);
- req.setParameter(EDIT_POLICY_COMMAND, null);
- ICommand ehCommand = super.getInsteadCommand(req);
- if (epCommand == null)
- {
- return ehCommand;
- }
- if (ehCommand == null)
- {
- return epCommand;
- }
- CompositeCommand command = new CompositeCommand(null);
- command.add(epCommand);
- command.add(ehCommand);
- return command;
- }
-
- /**
- * @generated
- */
- protected ICommand getCreateCommand(CreateElementRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected ICommand getCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected ICommand getDestroyElementCommand(DestroyElementRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected ICommand getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return null;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelper;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+
+/**
+ * @generated
+ */
+public class AcoreBaseEditHelper extends AbstractEditHelper
+{
+
+ /**
+ * @generated
+ */
+ public static final String EDIT_POLICY_COMMAND = "edit policy command"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final String CONTEXT_ELEMENT_TYPE = "context element type"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ protected IEditHelperAdvice[] getEditHelperAdvice(IEditCommandRequest req)
+ {
+ if (req.getParameter(CONTEXT_ELEMENT_TYPE) instanceof IElementType)
+ {
+ return ElementTypeRegistry.getInstance()
+ .getEditHelperAdvice((IElementType)req.getParameter(CONTEXT_ELEMENT_TYPE));
+ }
+ return super.getEditHelperAdvice(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getInsteadCommand(IEditCommandRequest req)
+ {
+ ICommand epCommand = (ICommand)req.getParameter(EDIT_POLICY_COMMAND);
+ req.setParameter(EDIT_POLICY_COMMAND, null);
+ ICommand ehCommand = super.getInsteadCommand(req);
+ if (epCommand == null)
+ {
+ return ehCommand;
+ }
+ if (ehCommand == null)
+ {
+ return epCommand;
+ }
+ CompositeCommand command = new CompositeCommand(null);
+ command.add(epCommand);
+ command.add(ehCommand);
+ return command;
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getCreateCommand(CreateElementRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getDestroyElementCommand(DestroyElementRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttribute2EditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttribute2EditPart.java
index 00a7190eb0..5efa0b8025 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttribute2EditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttribute2EditPart.java
@@ -1,684 +1,684 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AAttribute2ItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RunnableWithResult;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.AccessibleEditPart;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DirectEditRequest;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
-import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AAttribute2EditPart extends CompartmentEditPart implements ITextAwareEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 3003;
-
- /**
- * @generated
- */
- private DirectEditManager manager;
-
- /**
- * @generated
- */
- private IParser parser;
-
- /**
- * @generated
- */
- private List parserElements;
-
- /**
- * @generated
- */
- private String defaultText;
-
- /**
- * @generated
- */
- public AAttribute2EditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- public DragTracker getDragTracker(Request request)
- {
- if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
- {
- return null;
- }
- return new DragEditPartsTrackerEx(this);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AAttribute2ItemSemanticEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
- installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
- }
-
- /**
- * @generated
- */
- protected String getLabelTextHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getText();
- }
- else
- {
- return ((Label)figure).getText();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelTextHelper(IFigure figure, String text)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setText(text);
- }
- else
- {
- ((Label)figure).setText(text);
- }
- }
-
- /**
- * @generated
- */
- protected Image getLabelIconHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getIcon();
- }
- else
- {
- return ((Label)figure).getIcon();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelIconHelper(IFigure figure, Image icon)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setIcon(icon);
- }
- else
- {
- ((Label)figure).setIcon(icon);
- }
- }
-
- /**
- * @generated
- */
- public void setLabel(IFigure figure)
- {
- unregisterVisuals();
- setFigure(figure);
- defaultText = getLabelTextHelper(figure);
- registerVisuals();
- refreshVisuals();
- }
-
- /**
- * @generated
- */
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected EObject getParserElement()
- {
- return resolveSemanticElement();
- }
-
- /**
- * @generated
- */
- protected Image getLabelIcon()
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected String getLabelText()
- {
- String text = null;
- EObject parserElement = getParserElement();
- if (parserElement != null && getParser() != null)
- {
- text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
- }
- if (text == null || text.length() == 0)
- {
- text = defaultText;
- }
- return text;
- }
-
- /**
- * @generated
- */
- public void setLabelText(String text)
- {
- setLabelTextHelper(getFigure(), text);
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- public String getEditText()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return ""; //$NON-NLS-1$
- }
- return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
- }
-
- /**
- * @generated
- */
- protected boolean isEditable()
- {
- return getParser() != null;
- }
-
- /**
- * @generated
- */
- public ICellEditorValidator getEditTextValidator()
- {
- return new ICellEditorValidator()
- {
-
- public String isValid(final Object value)
- {
- if (value instanceof String)
- {
- final EObject element = getParserElement();
- final IParser parser = getParser();
- try
- {
- IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
- {
-
- public void run()
- {
- setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
- }
- });
- return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
-
- // shouldn't get here
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return null;
- }
- return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
- }
-
- /**
- * @generated
- */
- public ParserOptions getParserOptions()
- {
- return ParserOptions.NONE;
- }
-
- /**
- * @generated
- */
- public IParser getParser()
- {
- if (parser == null)
- {
- parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3003, getParserElement(),
- AcoreVisualIDRegistry
- .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart.VISUAL_ID));
- }
- return parser;
- }
-
- /**
- * @generated
- */
- protected DirectEditManager getManager()
- {
- if (manager == null)
- {
- setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
- AcoreEditPartFactory.getTextCellEditorLocator(this)));
- }
- return manager;
- }
-
- /**
- * @generated
- */
- protected void setManager(DirectEditManager manager)
- {
- this.manager = manager;
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit()
- {
- getManager().show();
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit(Point eventLocation)
- {
- if (getManager().getClass() == TextDirectEditManager.class)
- {
- ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
- }
- }
-
- /**
- * @generated
- */
- private void performDirectEdit(char initialCharacter)
- {
- if (getManager() instanceof TextDirectEditManager)
- {
- ((TextDirectEditManager)getManager()).show(initialCharacter);
- }
- else
- {
- performDirectEdit();
- }
- }
-
- /**
- * @generated
- */
- protected void performDirectEditRequest(Request request)
- {
- final Request theRequest = request;
- try
- {
- getEditingDomain().runExclusive(new Runnable()
- {
-
- public void run()
- {
- if (isActive() && isEditable())
- {
- if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
- {
- Character initialChar = (Character)theRequest.getExtendedData().get(
- RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
- performDirectEdit(initialChar.charValue());
- }
- else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
- {
- DirectEditRequest editRequest = (DirectEditRequest)theRequest;
- performDirectEdit(editRequest.getLocation());
- }
- else
- {
- performDirectEdit();
- }
- }
- }
- });
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- refreshLabel();
- refreshFont();
- refreshFontColor();
- refreshUnderline();
- refreshStrikeThrough();
- }
-
- /**
- * @generated
- */
- protected void refreshLabel()
- {
- setLabelTextHelper(getFigure(), getLabelText());
- setLabelIconHelper(getFigure(), getLabelIcon());
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshUnderline()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshStrikeThrough()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFont()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null)
- {
- FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
- : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
- setFont(fontData);
- }
- }
-
- /**
- * @generated
- */
- protected void setFontColor(Color color)
- {
- getFigure().setForegroundColor(color);
- }
-
- /**
- * @generated
- */
- protected void addSemanticListeners()
- {
- if (getParser() instanceof ISemanticParser)
- {
- EObject element = resolveSemanticElement();
- parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
- for (int i = 0; i < parserElements.size(); i++)
- {
- addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
- }
- }
- else
- {
- super.addSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected void removeSemanticListeners()
- {
- if (parserElements != null)
- {
- for (int i = 0; i < parserElements.size(); i++)
- {
- removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
- }
- }
- else
- {
- super.removeSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected AccessibleEditPart getAccessibleEditPart()
- {
- if (accessibleEP == null)
- {
- accessibleEP = new AccessibleGraphicalEditPart()
- {
-
- public void getName(AccessibleEvent e)
- {
- e.result = getLabelTextHelper(getFigure());
- }
- };
- }
- return accessibleEP;
- }
-
- /**
- * @generated
- */
- private View getFontStyleOwnerView()
- {
- return getPrimaryView();
- }
-
- /**
- * @generated
- */
- protected void addNotationalListeners()
- {
- super.addNotationalListeners();
- addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void removeNotationalListeners()
- {
- super.removeNotationalListeners();
- removeListenerFilter("PrimaryView"); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification event)
- {
- Object feature = event.getFeature();
- if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
- {
- Integer c = (Integer)event.getNewValue();
- setFontColor(DiagramColorRegistry.getInstance().getColor(c));
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
- {
- refreshUnderline();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
- {
- refreshStrikeThrough();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
- {
- refreshFont();
- }
- else
- {
- if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
- {
- refreshLabel();
- }
- if (getParser() instanceof ISemanticParser)
- {
- ISemanticParser modelParser = (ISemanticParser)getParser();
- if (modelParser.areSemanticElementsAffected(null, event))
- {
- removeSemanticListeners();
- if (resolveSemanticElement() != null)
- {
- addSemanticListeners();
- }
- refreshLabel();
- }
- }
- }
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected IFigure createFigure()
- {
- IFigure label = createFigurePrim();
- defaultText = getLabelTextHelper(label);
- return label;
- }
-
- /**
- * @generated
- */
- protected IFigure createFigurePrim()
- {
- return new WrappingLabel();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AAttribute2ItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RunnableWithResult;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.DragTracker;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.requests.SelectionRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AAttribute2EditPart extends CompartmentEditPart implements ITextAwareEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 3003;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * @generated
+ */
+ public AAttribute2EditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ public DragTracker getDragTracker(Request request)
+ {
+ if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
+ {
+ return null;
+ }
+ return new DragEditPartsTrackerEx(this);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AAttribute2ItemSemanticEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
+ installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getText();
+ }
+ else
+ {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setText(text);
+ }
+ else
+ {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getIcon();
+ }
+ else
+ {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setIcon(icon);
+ }
+ else
+ {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(IFigure figure)
+ {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement()
+ {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon()
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText()
+ {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if (parserElement != null && getParser() != null)
+ {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if (text == null || text.length() == 0)
+ {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text)
+ {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable()
+ {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator()
+ {
+ return new ICellEditorValidator()
+ {
+
+ public String isValid(final Object value)
+ {
+ if (value instanceof String)
+ {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try
+ {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
+ {
+
+ public void run()
+ {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ }
+ catch (InterruptedException ie)
+ {
+ ie.printStackTrace();
+ }
+ }
+
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions()
+ {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser()
+ {
+ if (parser == null)
+ {
+ parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3003, getParserElement(),
+ AcoreVisualIDRegistry
+ .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager()
+ {
+ if (manager == null)
+ {
+ setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
+ AcoreEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager)
+ {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit()
+ {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation)
+ {
+ if (getManager().getClass() == TextDirectEditManager.class)
+ {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter)
+ {
+ if (getManager() instanceof TextDirectEditManager)
+ {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request)
+ {
+ final Request theRequest = request;
+ try
+ {
+ getEditingDomain().runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ if (isActive() && isEditable())
+ {
+ if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
+ {
+ Character initialChar = (Character)theRequest.getExtendedData().get(
+ RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ }
+ else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
+ {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals()
+ {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel()
+ {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null)
+ {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
+ : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color)
+ {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners()
+ {
+ if (getParser() instanceof ISemanticParser)
+ {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners()
+ {
+ if (parserElements != null)
+ {
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart()
+ {
+ if (accessibleEP == null)
+ {
+ accessibleEP = new AccessibleGraphicalEditPart()
+ {
+
+ public void getName(AccessibleEvent e)
+ {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView()
+ {
+ return getPrimaryView();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners()
+ {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners()
+ {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event)
+ {
+ Object feature = event.getFeature();
+ if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
+ {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
+ {
+ refreshUnderline();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
+ {
+ refreshStrikeThrough();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
+ {
+ refreshFont();
+ }
+ else
+ {
+ if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
+ {
+ refreshLabel();
+ }
+ if (getParser() instanceof ISemanticParser)
+ {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if (modelParser.areSemanticElementsAffected(null, event))
+ {
+ removeSemanticListeners();
+ if (resolveSemanticElement() != null)
+ {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure()
+ {
+ IFigure label = createFigurePrim();
+ defaultText = getLabelTextHelper(label);
+ return label;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigurePrim()
+ {
+ return new WrappingLabel();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttributeEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttributeEditPart.java
index a1e62535a9..18c8876534 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttributeEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AAttributeEditPart.java
@@ -1,684 +1,684 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AAttributeItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RunnableWithResult;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.AccessibleEditPart;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DirectEditRequest;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
-import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AAttributeEditPart extends CompartmentEditPart implements ITextAwareEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 3001;
-
- /**
- * @generated
- */
- private DirectEditManager manager;
-
- /**
- * @generated
- */
- private IParser parser;
-
- /**
- * @generated
- */
- private List parserElements;
-
- /**
- * @generated
- */
- private String defaultText;
-
- /**
- * @generated
- */
- public AAttributeEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- public DragTracker getDragTracker(Request request)
- {
- if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
- {
- return null;
- }
- return new DragEditPartsTrackerEx(this);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AAttributeItemSemanticEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
- installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
- }
-
- /**
- * @generated
- */
- protected String getLabelTextHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getText();
- }
- else
- {
- return ((Label)figure).getText();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelTextHelper(IFigure figure, String text)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setText(text);
- }
- else
- {
- ((Label)figure).setText(text);
- }
- }
-
- /**
- * @generated
- */
- protected Image getLabelIconHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getIcon();
- }
- else
- {
- return ((Label)figure).getIcon();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelIconHelper(IFigure figure, Image icon)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setIcon(icon);
- }
- else
- {
- ((Label)figure).setIcon(icon);
- }
- }
-
- /**
- * @generated
- */
- public void setLabel(IFigure figure)
- {
- unregisterVisuals();
- setFigure(figure);
- defaultText = getLabelTextHelper(figure);
- registerVisuals();
- refreshVisuals();
- }
-
- /**
- * @generated
- */
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected EObject getParserElement()
- {
- return resolveSemanticElement();
- }
-
- /**
- * @generated
- */
- protected Image getLabelIcon()
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected String getLabelText()
- {
- String text = null;
- EObject parserElement = getParserElement();
- if (parserElement != null && getParser() != null)
- {
- text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
- }
- if (text == null || text.length() == 0)
- {
- text = defaultText;
- }
- return text;
- }
-
- /**
- * @generated
- */
- public void setLabelText(String text)
- {
- setLabelTextHelper(getFigure(), text);
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- public String getEditText()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return ""; //$NON-NLS-1$
- }
- return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
- }
-
- /**
- * @generated
- */
- protected boolean isEditable()
- {
- return getParser() != null;
- }
-
- /**
- * @generated
- */
- public ICellEditorValidator getEditTextValidator()
- {
- return new ICellEditorValidator()
- {
-
- public String isValid(final Object value)
- {
- if (value instanceof String)
- {
- final EObject element = getParserElement();
- final IParser parser = getParser();
- try
- {
- IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
- {
-
- public void run()
- {
- setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
- }
- });
- return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
-
- // shouldn't get here
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return null;
- }
- return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
- }
-
- /**
- * @generated
- */
- public ParserOptions getParserOptions()
- {
- return ParserOptions.NONE;
- }
-
- /**
- * @generated
- */
- public IParser getParser()
- {
- if (parser == null)
- {
- parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3001, getParserElement(),
- AcoreVisualIDRegistry
- .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart.VISUAL_ID));
- }
- return parser;
- }
-
- /**
- * @generated
- */
- protected DirectEditManager getManager()
- {
- if (manager == null)
- {
- setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
- AcoreEditPartFactory.getTextCellEditorLocator(this)));
- }
- return manager;
- }
-
- /**
- * @generated
- */
- protected void setManager(DirectEditManager manager)
- {
- this.manager = manager;
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit()
- {
- getManager().show();
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit(Point eventLocation)
- {
- if (getManager().getClass() == TextDirectEditManager.class)
- {
- ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
- }
- }
-
- /**
- * @generated
- */
- private void performDirectEdit(char initialCharacter)
- {
- if (getManager() instanceof TextDirectEditManager)
- {
- ((TextDirectEditManager)getManager()).show(initialCharacter);
- }
- else
- {
- performDirectEdit();
- }
- }
-
- /**
- * @generated
- */
- protected void performDirectEditRequest(Request request)
- {
- final Request theRequest = request;
- try
- {
- getEditingDomain().runExclusive(new Runnable()
- {
-
- public void run()
- {
- if (isActive() && isEditable())
- {
- if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
- {
- Character initialChar = (Character)theRequest.getExtendedData().get(
- RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
- performDirectEdit(initialChar.charValue());
- }
- else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
- {
- DirectEditRequest editRequest = (DirectEditRequest)theRequest;
- performDirectEdit(editRequest.getLocation());
- }
- else
- {
- performDirectEdit();
- }
- }
- }
- });
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- refreshLabel();
- refreshFont();
- refreshFontColor();
- refreshUnderline();
- refreshStrikeThrough();
- }
-
- /**
- * @generated
- */
- protected void refreshLabel()
- {
- setLabelTextHelper(getFigure(), getLabelText());
- setLabelIconHelper(getFigure(), getLabelIcon());
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshUnderline()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshStrikeThrough()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFont()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null)
- {
- FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
- : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
- setFont(fontData);
- }
- }
-
- /**
- * @generated
- */
- protected void setFontColor(Color color)
- {
- getFigure().setForegroundColor(color);
- }
-
- /**
- * @generated
- */
- protected void addSemanticListeners()
- {
- if (getParser() instanceof ISemanticParser)
- {
- EObject element = resolveSemanticElement();
- parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
- for (int i = 0; i < parserElements.size(); i++)
- {
- addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
- }
- }
- else
- {
- super.addSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected void removeSemanticListeners()
- {
- if (parserElements != null)
- {
- for (int i = 0; i < parserElements.size(); i++)
- {
- removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
- }
- }
- else
- {
- super.removeSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected AccessibleEditPart getAccessibleEditPart()
- {
- if (accessibleEP == null)
- {
- accessibleEP = new AccessibleGraphicalEditPart()
- {
-
- public void getName(AccessibleEvent e)
- {
- e.result = getLabelTextHelper(getFigure());
- }
- };
- }
- return accessibleEP;
- }
-
- /**
- * @generated
- */
- private View getFontStyleOwnerView()
- {
- return getPrimaryView();
- }
-
- /**
- * @generated
- */
- protected void addNotationalListeners()
- {
- super.addNotationalListeners();
- addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void removeNotationalListeners()
- {
- super.removeNotationalListeners();
- removeListenerFilter("PrimaryView"); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification event)
- {
- Object feature = event.getFeature();
- if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
- {
- Integer c = (Integer)event.getNewValue();
- setFontColor(DiagramColorRegistry.getInstance().getColor(c));
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
- {
- refreshUnderline();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
- {
- refreshStrikeThrough();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
- {
- refreshFont();
- }
- else
- {
- if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
- {
- refreshLabel();
- }
- if (getParser() instanceof ISemanticParser)
- {
- ISemanticParser modelParser = (ISemanticParser)getParser();
- if (modelParser.areSemanticElementsAffected(null, event))
- {
- removeSemanticListeners();
- if (resolveSemanticElement() != null)
- {
- addSemanticListeners();
- }
- refreshLabel();
- }
- }
- }
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected IFigure createFigure()
- {
- IFigure label = createFigurePrim();
- defaultText = getLabelTextHelper(label);
- return label;
- }
-
- /**
- * @generated
- */
- protected IFigure createFigurePrim()
- {
- return new WrappingLabel();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AAttributeItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RunnableWithResult;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.DragTracker;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.requests.SelectionRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AAttributeEditPart extends CompartmentEditPart implements ITextAwareEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 3001;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * @generated
+ */
+ public AAttributeEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ public DragTracker getDragTracker(Request request)
+ {
+ if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
+ {
+ return null;
+ }
+ return new DragEditPartsTrackerEx(this);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AAttributeItemSemanticEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
+ installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getText();
+ }
+ else
+ {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setText(text);
+ }
+ else
+ {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getIcon();
+ }
+ else
+ {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setIcon(icon);
+ }
+ else
+ {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(IFigure figure)
+ {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement()
+ {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon()
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText()
+ {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if (parserElement != null && getParser() != null)
+ {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if (text == null || text.length() == 0)
+ {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text)
+ {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable()
+ {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator()
+ {
+ return new ICellEditorValidator()
+ {
+
+ public String isValid(final Object value)
+ {
+ if (value instanceof String)
+ {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try
+ {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
+ {
+
+ public void run()
+ {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ }
+ catch (InterruptedException ie)
+ {
+ ie.printStackTrace();
+ }
+ }
+
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions()
+ {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser()
+ {
+ if (parser == null)
+ {
+ parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3001, getParserElement(),
+ AcoreVisualIDRegistry
+ .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager()
+ {
+ if (manager == null)
+ {
+ setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
+ AcoreEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager)
+ {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit()
+ {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation)
+ {
+ if (getManager().getClass() == TextDirectEditManager.class)
+ {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter)
+ {
+ if (getManager() instanceof TextDirectEditManager)
+ {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request)
+ {
+ final Request theRequest = request;
+ try
+ {
+ getEditingDomain().runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ if (isActive() && isEditable())
+ {
+ if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
+ {
+ Character initialChar = (Character)theRequest.getExtendedData().get(
+ RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ }
+ else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
+ {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals()
+ {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel()
+ {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null)
+ {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
+ : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color)
+ {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners()
+ {
+ if (getParser() instanceof ISemanticParser)
+ {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners()
+ {
+ if (parserElements != null)
+ {
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart()
+ {
+ if (accessibleEP == null)
+ {
+ accessibleEP = new AccessibleGraphicalEditPart()
+ {
+
+ public void getName(AccessibleEvent e)
+ {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView()
+ {
+ return getPrimaryView();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners()
+ {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners()
+ {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event)
+ {
+ Object feature = event.getFeature();
+ if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
+ {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
+ {
+ refreshUnderline();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
+ {
+ refreshStrikeThrough();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
+ {
+ refreshFont();
+ }
+ else
+ {
+ if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
+ {
+ refreshLabel();
+ }
+ if (getParser() instanceof ISemanticParser)
+ {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if (modelParser.areSemanticElementsAffected(null, event))
+ {
+ removeSemanticListeners();
+ if (resolveSemanticElement() != null)
+ {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure()
+ {
+ IFigure label = createFigurePrim();
+ defaultText = getLabelTextHelper(label);
+ return label;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigurePrim()
+ {
+ return new WrappingLabel();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAAttributeCompartmentEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAAttributeCompartmentEditPart.java
index e3c72b0585..d6296a1592 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAAttributeCompartmentEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAAttributeCompartmentEditPart.java
@@ -1,94 +1,94 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAAttributeCompartmentCanonicalEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAAttributeCompartmentItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AClassAAttributeCompartmentEditPart extends ListCompartmentEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 7003;
-
- /**
- * @generated
- */
- public AClassAAttributeCompartmentEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected boolean hasModelChildrenChanged(Notification evt)
- {
- return false;
- }
-
- /**
- * @generated
- */
- public String getCompartmentName()
- {
- return Messages.AClassAAttributeCompartmentEditPart_title;
- }
-
- /**
- * @generated
- */
- public IFigure createFigure()
- {
- ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
- result.setTitleVisibility(false);
- return result;
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAAttributeCompartmentItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
- installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AClassAAttributeCompartmentCanonicalEditPolicy());
- }
-
- /**
- * @generated
- */
- protected void setRatio(Double ratio)
- {
- // nothing to do -- parent layout does not accept Double constraints as ratio
- // super.setRatio(ratio);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAAttributeCompartmentCanonicalEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAAttributeCompartmentItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AClassAAttributeCompartmentEditPart extends ListCompartmentEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 7003;
+
+ /**
+ * @generated
+ */
+ public AClassAAttributeCompartmentEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean hasModelChildrenChanged(Notification evt)
+ {
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public String getCompartmentName()
+ {
+ return Messages.AClassAAttributeCompartmentEditPart_title;
+ }
+
+ /**
+ * @generated
+ */
+ public IFigure createFigure()
+ {
+ ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
+ result.setTitleVisibility(false);
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAAttributeCompartmentItemSemanticEditPolicy());
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
+ installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AClassAAttributeCompartmentCanonicalEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected void setRatio(Double ratio)
+ {
+ // nothing to do -- parent layout does not accept Double constraints as ratio
+ // super.setRatio(ratio);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAOperationClassCompartmentEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAOperationClassCompartmentEditPart.java
index f0834ad306..30ba4f2546 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAOperationClassCompartmentEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAOperationClassCompartmentEditPart.java
@@ -1,94 +1,94 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAOperationClassCompartmentCanonicalEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAOperationClassCompartmentItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AClassAOperationClassCompartmentEditPart extends ListCompartmentEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 7004;
-
- /**
- * @generated
- */
- public AClassAOperationClassCompartmentEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected boolean hasModelChildrenChanged(Notification evt)
- {
- return false;
- }
-
- /**
- * @generated
- */
- public String getCompartmentName()
- {
- return Messages.AClassAOperationClassCompartmentEditPart_title;
- }
-
- /**
- * @generated
- */
- public IFigure createFigure()
- {
- ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
- result.setTitleVisibility(false);
- return result;
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAOperationClassCompartmentItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
- installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AClassAOperationClassCompartmentCanonicalEditPolicy());
- }
-
- /**
- * @generated
- */
- protected void setRatio(Double ratio)
- {
- // nothing to do -- parent layout does not accept Double constraints as ratio
- // super.setRatio(ratio);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAOperationClassCompartmentCanonicalEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAOperationClassCompartmentItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AClassAOperationClassCompartmentEditPart extends ListCompartmentEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 7004;
+
+ /**
+ * @generated
+ */
+ public AClassAOperationClassCompartmentEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean hasModelChildrenChanged(Notification evt)
+ {
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public String getCompartmentName()
+ {
+ return Messages.AClassAOperationClassCompartmentEditPart_title;
+ }
+
+ /**
+ * @generated
+ */
+ public IFigure createFigure()
+ {
+ ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
+ result.setTitleVisibility(false);
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAOperationClassCompartmentItemSemanticEditPolicy());
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
+ installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AClassAOperationClassCompartmentCanonicalEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected void setRatio(Double ratio)
+ {
+ // nothing to do -- parent layout does not accept Double constraints as ratio
+ // super.setRatio(ratio);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAggregationsEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAggregationsEditPart.java
index e653c4ab8e..61ed40ebe7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAggregationsEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAggregationsEditPart.java
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAggregationsItemSemanticEditPolicy;
-
-import org.eclipse.draw2d.Connection;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.RotatableDecoration;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @generated
- */
-public class AClassAggregationsEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 4004;
-
- /**
- * @generated
- */
- public AClassAggregationsEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAggregationsItemSemanticEditPolicy());
- }
-
- /**
- * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
- * safely remove <i>generated</i> tag and modify it.
- *
- * @generated
- */
-
- protected Connection createConnectionFigure()
- {
- return new AClassAggregationClassesFigure();
- }
-
- /**
- * @generated
- */
- public AClassAggregationClassesFigure getPrimaryShape()
- {
- return (AClassAggregationClassesFigure)getFigure();
- }
-
- /**
- * @generated
- */
- public class AClassAggregationClassesFigure extends PolylineConnectionEx
- {
-
- /**
- * @generated
- */
- public AClassAggregationClassesFigure()
- {
- this.setLineWidth(1);
-
- setTargetDecoration(createTargetDecoration());
- }
-
- /**
- * @generated
- */
- private RotatableDecoration createTargetDecoration()
- {
- PolygonDecoration df = new PolygonDecoration();
- df.setFill(true);
- df.setLineWidth(1);
- df.setBackgroundColor(DF_BACK);
- PointList pl = new PointList();
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
- pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2));
- pl.addPoint(getMapMode().DPtoLP(-4), getMapMode().DPtoLP(0));
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
- df.setTemplate(pl);
- df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
- return df;
- }
-
- }
-
- /**
- * @generated
- */
- static final Color DF_BACK = new Color(null, 255, 255, 255);
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAggregationsItemSemanticEditPolicy;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.RotatableDecoration;
+import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @generated
+ */
+public class AClassAggregationsEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 4004;
+
+ /**
+ * @generated
+ */
+ public AClassAggregationsEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAggregationsItemSemanticEditPolicy());
+ }
+
+ /**
+ * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
+ * safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+
+ protected Connection createConnectionFigure()
+ {
+ return new AClassAggregationClassesFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public AClassAggregationClassesFigure getPrimaryShape()
+ {
+ return (AClassAggregationClassesFigure)getFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public class AClassAggregationClassesFigure extends PolylineConnectionEx
+ {
+
+ /**
+ * @generated
+ */
+ public AClassAggregationClassesFigure()
+ {
+ this.setLineWidth(1);
+
+ setTargetDecoration(createTargetDecoration());
+ }
+
+ /**
+ * @generated
+ */
+ private RotatableDecoration createTargetDecoration()
+ {
+ PolygonDecoration df = new PolygonDecoration();
+ df.setFill(true);
+ df.setLineWidth(1);
+ df.setBackgroundColor(DF_BACK);
+ PointList pl = new PointList();
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
+ pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2));
+ pl.addPoint(getMapMode().DPtoLP(-4), getMapMode().DPtoLP(0));
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
+ df.setTemplate(pl);
+ df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
+ return df;
+ }
+
+ }
+
+ /**
+ * @generated
+ */
+ static final Color DF_BACK = new Color(null, 255, 255, 255);
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAssociationsEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAssociationsEditPart.java
index 60be995495..fee580220e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAssociationsEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassAssociationsEditPart.java
@@ -1,70 +1,70 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAssociationsItemSemanticEditPolicy;
-
-import org.eclipse.draw2d.Connection;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AClassAssociationsEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 4003;
-
- /**
- * @generated
- */
- public AClassAssociationsEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAssociationsItemSemanticEditPolicy());
- }
-
- /**
- * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
- * safely remove <i>generated</i> tag and modify it.
- *
- * @generated
- */
- protected Connection createConnectionFigure()
- {
- return new PolylineConnectionEx();
- }
-
- /**
- * @generated
- */
- public PolylineConnectionEx getPrimaryShape()
- {
- return (PolylineConnectionEx)getFigure();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassAssociationsItemSemanticEditPolicy;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AClassAssociationsEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 4003;
+
+ /**
+ * @generated
+ */
+ public AClassAssociationsEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassAssociationsItemSemanticEditPolicy());
+ }
+
+ /**
+ * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
+ * safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+ protected Connection createConnectionFigure()
+ {
+ return new PolylineConnectionEx();
+ }
+
+ /**
+ * @generated
+ */
+ public PolylineConnectionEx getPrimaryShape()
+ {
+ return (PolylineConnectionEx)getFigure();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassCompositionsEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassCompositionsEditPart.java
index 35ce2cbbfb..1a45bcf342 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassCompositionsEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassCompositionsEditPart.java
@@ -1,118 +1,118 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassCompositionsItemSemanticEditPolicy;
-
-import org.eclipse.draw2d.Connection;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.RotatableDecoration;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @generated
- */
-public class AClassCompositionsEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 4005;
-
- /**
- * @generated
- */
- public AClassCompositionsEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassCompositionsItemSemanticEditPolicy());
- }
-
- /**
- * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
- * safely remove <i>generated</i> tag and modify it.
- *
- * @generated
- */
-
- protected Connection createConnectionFigure()
- {
- return new AClassCompositionClassesFigure();
- }
-
- /**
- * @generated
- */
- public AClassCompositionClassesFigure getPrimaryShape()
- {
- return (AClassCompositionClassesFigure)getFigure();
- }
-
- /**
- * @generated
- */
- public class AClassCompositionClassesFigure extends PolylineConnectionEx
- {
-
- /**
- * @generated
- */
- public AClassCompositionClassesFigure()
- {
- this.setLineWidth(1);
-
- setTargetDecoration(createTargetDecoration());
- }
-
- /**
- * @generated
- */
- private RotatableDecoration createTargetDecoration()
- {
- PolygonDecoration df = new PolygonDecoration();
- df.setFill(true);
- df.setLineWidth(1);
- df.setBackgroundColor(DF_BACK);
- PointList pl = new PointList();
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
- pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2));
- pl.addPoint(getMapMode().DPtoLP(-4), getMapMode().DPtoLP(0));
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
- df.setTemplate(pl);
- df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
- return df;
- }
-
- }
-
- /**
- * @generated
- */
- static final Color DF_BACK = new Color(null, 0, 0, 0);
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassCompositionsItemSemanticEditPolicy;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.RotatableDecoration;
+import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @generated
+ */
+public class AClassCompositionsEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 4005;
+
+ /**
+ * @generated
+ */
+ public AClassCompositionsEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassCompositionsItemSemanticEditPolicy());
+ }
+
+ /**
+ * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
+ * safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+
+ protected Connection createConnectionFigure()
+ {
+ return new AClassCompositionClassesFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public AClassCompositionClassesFigure getPrimaryShape()
+ {
+ return (AClassCompositionClassesFigure)getFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public class AClassCompositionClassesFigure extends PolylineConnectionEx
+ {
+
+ /**
+ * @generated
+ */
+ public AClassCompositionClassesFigure()
+ {
+ this.setLineWidth(1);
+
+ setTargetDecoration(createTargetDecoration());
+ }
+
+ /**
+ * @generated
+ */
+ private RotatableDecoration createTargetDecoration()
+ {
+ PolygonDecoration df = new PolygonDecoration();
+ df.setFill(true);
+ df.setLineWidth(1);
+ df.setBackgroundColor(DF_BACK);
+ PointList pl = new PointList();
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
+ pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2));
+ pl.addPoint(getMapMode().DPtoLP(-4), getMapMode().DPtoLP(0));
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
+ df.setTemplate(pl);
+ df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
+ return df;
+ }
+
+ }
+
+ /**
+ * @generated
+ */
+ static final Color DF_BACK = new Color(null, 0, 0, 0);
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassEditPart.java
index f89f752bf4..2a8a510fcd 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassEditPart.java
@@ -1,582 +1,582 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.Shape;
-import org.eclipse.draw2d.StackLayout;
-import org.eclipse.draw2d.ToolbarLayout;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.editpolicies.LayoutEditPolicy;
-import org.eclipse.gmf.runtime.diagram.core.edithelpers.CreateElementRequestAdapter;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ConstrainedToolbarLayoutEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
-import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.swt.graphics.Color;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AClassEditPart extends ShapeNodeEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 2002;
-
- /**
- * @generated
- */
- protected IFigure contentPane;
-
- /**
- * @generated
- */
- protected IFigure primaryShape;
-
- /**
- * @generated
- */
- public AClassEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassItemSemanticEditPolicy());
- installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
- // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable
- // editpolicies
- // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE);
- }
-
- /**
- * @generated
- */
- protected LayoutEditPolicy createLayoutEditPolicy()
- {
-
- ConstrainedToolbarLayoutEditPolicy lep = new ConstrainedToolbarLayoutEditPolicy()
- {
-
- protected EditPolicy createChildEditPolicy(EditPart child)
- {
- if (child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE) == null)
- {
- if (child instanceof ITextAwareEditPart)
- {
- return new AcoreTextSelectionEditPolicy();
- }
- }
- return super.createChildEditPolicy(child);
- }
- };
- return lep;
- }
-
- /**
- * @generated
- */
- protected IFigure createNodeShape()
- {
- AClassFigure figure = new AClassFigure();
- return primaryShape = figure;
- }
-
- /**
- * @generated
- */
- public AClassFigure getPrimaryShape()
- {
- return (AClassFigure)primaryShape;
- }
-
- /**
- * @generated
- */
- protected boolean addFixedChild(EditPart childEditPart)
- {
- if (childEditPart instanceof AClassNameEditPart)
- {
- ((AClassNameEditPart)childEditPart).setLabel(getPrimaryShape().getFigureAClassNameFigure());
- return true;
- }
- if (childEditPart instanceof AClassAAttributeCompartmentEditPart)
- {
- IFigure pane = getPrimaryShape().getFigureClassAttributes();
- setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
- pane.add(((AClassAAttributeCompartmentEditPart)childEditPart).getFigure());
- return true;
- }
- if (childEditPart instanceof AClassAOperationClassCompartmentEditPart)
- {
- IFigure pane = getPrimaryShape().getFigureClassOperations();
- setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
- pane.add(((AClassAOperationClassCompartmentEditPart)childEditPart).getFigure());
- return true;
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean removeFixedChild(EditPart childEditPart)
- {
- if (childEditPart instanceof AClassNameEditPart)
- {
- return true;
- }
- if (childEditPart instanceof AClassAAttributeCompartmentEditPart)
- {
- IFigure pane = getPrimaryShape().getFigureClassAttributes();
- setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
- pane.remove(((AClassAAttributeCompartmentEditPart)childEditPart).getFigure());
- return true;
- }
- if (childEditPart instanceof AClassAOperationClassCompartmentEditPart)
- {
- IFigure pane = getPrimaryShape().getFigureClassOperations();
- setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
- pane.remove(((AClassAOperationClassCompartmentEditPart)childEditPart).getFigure());
- return true;
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected void addChildVisual(EditPart childEditPart, int index)
- {
- if (addFixedChild(childEditPart))
- {
- return;
- }
- super.addChildVisual(childEditPart, -1);
- }
-
- /**
- * @generated
- */
- protected void removeChildVisual(EditPart childEditPart)
- {
- if (removeFixedChild(childEditPart))
- {
- return;
- }
- super.removeChildVisual(childEditPart);
- }
-
- /**
- * @generated
- */
- protected IFigure getContentPaneFor(IGraphicalEditPart editPart)
- {
- if (editPart instanceof AClassAAttributeCompartmentEditPart)
- {
- return getPrimaryShape().getFigureClassAttributes();
- }
- if (editPart instanceof AClassAOperationClassCompartmentEditPart)
- {
- return getPrimaryShape().getFigureClassOperations();
- }
- return getContentPane();
- }
-
- /**
- * @generated
- */
- protected NodeFigure createNodePlate()
- {
- DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(40, 40);
- return result;
- }
-
- /**
- * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
- * safely remove <i>generated</i> tag and modify it.
- *
- * @generated
- */
- protected NodeFigure createNodeFigure()
- {
- NodeFigure figure = createNodePlate();
- figure.setLayoutManager(new StackLayout());
- IFigure shape = createNodeShape();
- figure.add(shape);
- contentPane = setupContentPane(shape);
- return figure;
- }
-
- /**
- * Default implementation treats passed figure as content pane. Respects layout one may have set for generated figure.
- *
- * @param nodeShape
- * instance of generated figure class
- * @generated
- */
- protected IFigure setupContentPane(IFigure nodeShape)
- {
- if (nodeShape.getLayoutManager() == null)
- {
- ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
- layout.setSpacing(5);
- nodeShape.setLayoutManager(layout);
- }
- return nodeShape; // use nodeShape itself as contentPane
- }
-
- /**
- * @generated
- */
- public IFigure getContentPane()
- {
- if (contentPane != null)
- {
- return contentPane;
- }
- return super.getContentPane();
- }
-
- /**
- * @generated
- */
- protected void setForegroundColor(Color color)
- {
- if (primaryShape != null)
- {
- primaryShape.setForegroundColor(color);
- }
- }
-
- /**
- * @generated
- */
- protected void setBackgroundColor(Color color)
- {
- if (primaryShape != null)
- {
- primaryShape.setBackgroundColor(color);
- }
- }
-
- /**
- * @generated
- */
- protected void setLineWidth(int width)
- {
- if (primaryShape instanceof Shape)
- {
- ((Shape)primaryShape).setLineWidth(width);
- }
- }
-
- /**
- * @generated
- */
- protected void setLineType(int style)
- {
- if (primaryShape instanceof Shape)
- {
- ((Shape)primaryShape).setLineStyle(style);
- }
- }
-
- /**
- * @generated
- */
- public EditPart getPrimaryChildEditPart()
- {
- return getChildBySemanticHint(AcoreVisualIDRegistry.getType(AClassNameEditPart.VISUAL_ID));
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMARelTypesOnSource()
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(5);
- types.add(AcoreElementTypes.AClassSubClasses_4001);
- types.add(AcoreElementTypes.AClassImplementedInterfaces_4002);
- types.add(AcoreElementTypes.AClassAssociations_4003);
- types.add(AcoreElementTypes.AClassAggregations_4004);
- types.add(AcoreElementTypes.AClassCompositions_4005);
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMARelTypesOnSourceAndTarget(IGraphicalEditPart targetEditPart)
- {
- LinkedList<IElementType> types = new LinkedList<IElementType>();
- if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
- {
- types.add(AcoreElementTypes.AClassSubClasses_4001);
- }
- if (targetEditPart instanceof AInterfaceEditPart)
- {
- types.add(AcoreElementTypes.AClassImplementedInterfaces_4002);
- }
- if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
- {
- types.add(AcoreElementTypes.AClassAssociations_4003);
- }
- if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
- {
- types.add(AcoreElementTypes.AClassAggregations_4004);
- }
- if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
- {
- types.add(AcoreElementTypes.AClassCompositions_4005);
- }
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMATypesForTarget(IElementType relationshipType)
- {
- LinkedList<IElementType> types = new LinkedList<IElementType>();
- if (relationshipType == AcoreElementTypes.AClassSubClasses_4001)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- else if (relationshipType == AcoreElementTypes.AClassImplementedInterfaces_4002)
- {
- types.add(AcoreElementTypes.AInterface_2001);
- }
- else if (relationshipType == AcoreElementTypes.AClassAssociations_4003)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- else if (relationshipType == AcoreElementTypes.AClassAggregations_4004)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- else if (relationshipType == AcoreElementTypes.AClassCompositions_4005)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMARelTypesOnTarget()
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(4);
- types.add(AcoreElementTypes.AClassSubClasses_4001);
- types.add(AcoreElementTypes.AClassAssociations_4003);
- types.add(AcoreElementTypes.AClassAggregations_4004);
- types.add(AcoreElementTypes.AClassCompositions_4005);
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMATypesForSource(IElementType relationshipType)
- {
- LinkedList<IElementType> types = new LinkedList<IElementType>();
- if (relationshipType == AcoreElementTypes.AClassSubClasses_4001)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- else if (relationshipType == AcoreElementTypes.AClassAssociations_4003)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- else if (relationshipType == AcoreElementTypes.AClassAggregations_4004)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- else if (relationshipType == AcoreElementTypes.AClassCompositions_4005)
- {
- types.add(AcoreElementTypes.AClass_2002);
- }
- return types;
- }
-
- /**
- * @generated
- */
- public EditPart getTargetEditPart(Request request)
- {
- if (request instanceof CreateViewAndElementRequest)
- {
- CreateElementRequestAdapter adapter = ((CreateViewAndElementRequest)request).getViewAndElementDescriptor()
- .getCreateElementRequestAdapter();
- IElementType type = (IElementType)adapter.getAdapter(IElementType.class);
- if (type == AcoreElementTypes.AAttribute_3003)
- {
- return getChildBySemanticHint(AcoreVisualIDRegistry.getType(AClassAAttributeCompartmentEditPart.VISUAL_ID));
- }
- if (type == AcoreElementTypes.AOperation_3004)
- {
- return getChildBySemanticHint(AcoreVisualIDRegistry.getType(AClassAOperationClassCompartmentEditPart.VISUAL_ID));
- }
- }
- return super.getTargetEditPart(request);
- }
-
- /**
- * @generated
- */
- public class AClassFigure extends RectangleFigure
- {
-
- /**
- * @generated
- */
- private RectangleFigure fFigureClassAttributes;
-
- /**
- * @generated
- */
- private WrappingLabel fFigureAClassNameFigure;
-
- /**
- * @generated
- */
- private RectangleFigure fFigureClassOperations;
-
- /**
- * @generated
- */
- public AClassFigure()
- {
-
- ToolbarLayout layoutThis = new ToolbarLayout();
- layoutThis.setStretchMinorAxis(true);
- layoutThis.setMinorAlignment(ToolbarLayout.ALIGN_CENTER);
-
- layoutThis.setSpacing(0);
- layoutThis.setVertical(true);
-
- this.setLayoutManager(layoutThis);
-
- this.setLineWidth(1);
- this.setBackgroundColor(THIS_BACK);
- createContents();
- }
-
- /**
- * @generated
- */
- private void createContents()
- {
-
- fFigureAClassNameFigure = new WrappingLabel();
- fFigureAClassNameFigure.setText("<...>");
-
- this.add(fFigureAClassNameFigure);
-
- fFigureClassAttributes = new RectangleFigure();
- fFigureClassAttributes.setLineWidth(1);
-
- this.add(fFigureClassAttributes);
- fFigureClassAttributes.setLayoutManager(new StackLayout());
-
- fFigureClassOperations = new RectangleFigure();
- fFigureClassOperations.setLineWidth(1);
-
- this.add(fFigureClassOperations);
- fFigureClassOperations.setLayoutManager(new StackLayout());
-
- }
-
- /**
- * @generated
- */
- private boolean myUseLocalCoordinates = false;
-
- /**
- * @generated
- */
- protected boolean useLocalCoordinates()
- {
- return myUseLocalCoordinates;
- }
-
- /**
- * @generated
- */
- protected void setUseLocalCoordinates(boolean useLocalCoordinates)
- {
- myUseLocalCoordinates = useLocalCoordinates;
- }
-
- /**
- * @generated
- */
- public RectangleFigure getFigureClassAttributes()
- {
- return fFigureClassAttributes;
- }
-
- /**
- * @generated
- */
- public WrappingLabel getFigureAClassNameFigure()
- {
- return fFigureAClassNameFigure;
- }
-
- /**
- * @generated
- */
- public RectangleFigure getFigureClassOperations()
- {
- return fFigureClassOperations;
- }
-
- }
-
- /**
- * @generated
- */
- static final Color THIS_BACK = new Color(null, 230, 230, 255);
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.RectangleFigure;
+import org.eclipse.draw2d.Shape;
+import org.eclipse.draw2d.StackLayout;
+import org.eclipse.draw2d.ToolbarLayout;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.editpolicies.LayoutEditPolicy;
+import org.eclipse.gmf.runtime.diagram.core.edithelpers.CreateElementRequestAdapter;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ConstrainedToolbarLayoutEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
+import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.swt.graphics.Color;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AClassEditPart extends ShapeNodeEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 2002;
+
+ /**
+ * @generated
+ */
+ protected IFigure contentPane;
+
+ /**
+ * @generated
+ */
+ protected IFigure primaryShape;
+
+ /**
+ * @generated
+ */
+ public AClassEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassItemSemanticEditPolicy());
+ installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
+ // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable
+ // editpolicies
+ // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE);
+ }
+
+ /**
+ * @generated
+ */
+ protected LayoutEditPolicy createLayoutEditPolicy()
+ {
+
+ ConstrainedToolbarLayoutEditPolicy lep = new ConstrainedToolbarLayoutEditPolicy()
+ {
+
+ protected EditPolicy createChildEditPolicy(EditPart child)
+ {
+ if (child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE) == null)
+ {
+ if (child instanceof ITextAwareEditPart)
+ {
+ return new AcoreTextSelectionEditPolicy();
+ }
+ }
+ return super.createChildEditPolicy(child);
+ }
+ };
+ return lep;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createNodeShape()
+ {
+ AClassFigure figure = new AClassFigure();
+ return primaryShape = figure;
+ }
+
+ /**
+ * @generated
+ */
+ public AClassFigure getPrimaryShape()
+ {
+ return (AClassFigure)primaryShape;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean addFixedChild(EditPart childEditPart)
+ {
+ if (childEditPart instanceof AClassNameEditPart)
+ {
+ ((AClassNameEditPart)childEditPart).setLabel(getPrimaryShape().getFigureAClassNameFigure());
+ return true;
+ }
+ if (childEditPart instanceof AClassAAttributeCompartmentEditPart)
+ {
+ IFigure pane = getPrimaryShape().getFigureClassAttributes();
+ setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
+ pane.add(((AClassAAttributeCompartmentEditPart)childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof AClassAOperationClassCompartmentEditPart)
+ {
+ IFigure pane = getPrimaryShape().getFigureClassOperations();
+ setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
+ pane.add(((AClassAOperationClassCompartmentEditPart)childEditPart).getFigure());
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean removeFixedChild(EditPart childEditPart)
+ {
+ if (childEditPart instanceof AClassNameEditPart)
+ {
+ return true;
+ }
+ if (childEditPart instanceof AClassAAttributeCompartmentEditPart)
+ {
+ IFigure pane = getPrimaryShape().getFigureClassAttributes();
+ setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
+ pane.remove(((AClassAAttributeCompartmentEditPart)childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof AClassAOperationClassCompartmentEditPart)
+ {
+ IFigure pane = getPrimaryShape().getFigureClassOperations();
+ setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
+ pane.remove(((AClassAOperationClassCompartmentEditPart)childEditPart).getFigure());
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected void addChildVisual(EditPart childEditPart, int index)
+ {
+ if (addFixedChild(childEditPart))
+ {
+ return;
+ }
+ super.addChildVisual(childEditPart, -1);
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeChildVisual(EditPart childEditPart)
+ {
+ if (removeFixedChild(childEditPart))
+ {
+ return;
+ }
+ super.removeChildVisual(childEditPart);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure getContentPaneFor(IGraphicalEditPart editPart)
+ {
+ if (editPart instanceof AClassAAttributeCompartmentEditPart)
+ {
+ return getPrimaryShape().getFigureClassAttributes();
+ }
+ if (editPart instanceof AClassAOperationClassCompartmentEditPart)
+ {
+ return getPrimaryShape().getFigureClassOperations();
+ }
+ return getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ protected NodeFigure createNodePlate()
+ {
+ DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(40, 40);
+ return result;
+ }
+
+ /**
+ * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
+ * safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+ protected NodeFigure createNodeFigure()
+ {
+ NodeFigure figure = createNodePlate();
+ figure.setLayoutManager(new StackLayout());
+ IFigure shape = createNodeShape();
+ figure.add(shape);
+ contentPane = setupContentPane(shape);
+ return figure;
+ }
+
+ /**
+ * Default implementation treats passed figure as content pane. Respects layout one may have set for generated figure.
+ *
+ * @param nodeShape
+ * instance of generated figure class
+ * @generated
+ */
+ protected IFigure setupContentPane(IFigure nodeShape)
+ {
+ if (nodeShape.getLayoutManager() == null)
+ {
+ ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
+ layout.setSpacing(5);
+ nodeShape.setLayoutManager(layout);
+ }
+ return nodeShape; // use nodeShape itself as contentPane
+ }
+
+ /**
+ * @generated
+ */
+ public IFigure getContentPane()
+ {
+ if (contentPane != null)
+ {
+ return contentPane;
+ }
+ return super.getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ protected void setForegroundColor(Color color)
+ {
+ if (primaryShape != null)
+ {
+ primaryShape.setForegroundColor(color);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setBackgroundColor(Color color)
+ {
+ if (primaryShape != null)
+ {
+ primaryShape.setBackgroundColor(color);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLineWidth(int width)
+ {
+ if (primaryShape instanceof Shape)
+ {
+ ((Shape)primaryShape).setLineWidth(width);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLineType(int style)
+ {
+ if (primaryShape instanceof Shape)
+ {
+ ((Shape)primaryShape).setLineStyle(style);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public EditPart getPrimaryChildEditPart()
+ {
+ return getChildBySemanticHint(AcoreVisualIDRegistry.getType(AClassNameEditPart.VISUAL_ID));
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnSource()
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(5);
+ types.add(AcoreElementTypes.AClassSubClasses_4001);
+ types.add(AcoreElementTypes.AClassImplementedInterfaces_4002);
+ types.add(AcoreElementTypes.AClassAssociations_4003);
+ types.add(AcoreElementTypes.AClassAggregations_4004);
+ types.add(AcoreElementTypes.AClassCompositions_4005);
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnSourceAndTarget(IGraphicalEditPart targetEditPart)
+ {
+ LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
+ {
+ types.add(AcoreElementTypes.AClassSubClasses_4001);
+ }
+ if (targetEditPart instanceof AInterfaceEditPart)
+ {
+ types.add(AcoreElementTypes.AClassImplementedInterfaces_4002);
+ }
+ if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
+ {
+ types.add(AcoreElementTypes.AClassAssociations_4003);
+ }
+ if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
+ {
+ types.add(AcoreElementTypes.AClassAggregations_4004);
+ }
+ if (targetEditPart instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart)
+ {
+ types.add(AcoreElementTypes.AClassCompositions_4005);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMATypesForTarget(IElementType relationshipType)
+ {
+ LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if (relationshipType == AcoreElementTypes.AClassSubClasses_4001)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassImplementedInterfaces_4002)
+ {
+ types.add(AcoreElementTypes.AInterface_2001);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassAssociations_4003)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassAggregations_4004)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassCompositions_4005)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnTarget()
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(4);
+ types.add(AcoreElementTypes.AClassSubClasses_4001);
+ types.add(AcoreElementTypes.AClassAssociations_4003);
+ types.add(AcoreElementTypes.AClassAggregations_4004);
+ types.add(AcoreElementTypes.AClassCompositions_4005);
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMATypesForSource(IElementType relationshipType)
+ {
+ LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if (relationshipType == AcoreElementTypes.AClassSubClasses_4001)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassAssociations_4003)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassAggregations_4004)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ else if (relationshipType == AcoreElementTypes.AClassCompositions_4005)
+ {
+ types.add(AcoreElementTypes.AClass_2002);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public EditPart getTargetEditPart(Request request)
+ {
+ if (request instanceof CreateViewAndElementRequest)
+ {
+ CreateElementRequestAdapter adapter = ((CreateViewAndElementRequest)request).getViewAndElementDescriptor()
+ .getCreateElementRequestAdapter();
+ IElementType type = (IElementType)adapter.getAdapter(IElementType.class);
+ if (type == AcoreElementTypes.AAttribute_3003)
+ {
+ return getChildBySemanticHint(AcoreVisualIDRegistry.getType(AClassAAttributeCompartmentEditPart.VISUAL_ID));
+ }
+ if (type == AcoreElementTypes.AOperation_3004)
+ {
+ return getChildBySemanticHint(AcoreVisualIDRegistry.getType(AClassAOperationClassCompartmentEditPart.VISUAL_ID));
+ }
+ }
+ return super.getTargetEditPart(request);
+ }
+
+ /**
+ * @generated
+ */
+ public class AClassFigure extends RectangleFigure
+ {
+
+ /**
+ * @generated
+ */
+ private RectangleFigure fFigureClassAttributes;
+
+ /**
+ * @generated
+ */
+ private WrappingLabel fFigureAClassNameFigure;
+
+ /**
+ * @generated
+ */
+ private RectangleFigure fFigureClassOperations;
+
+ /**
+ * @generated
+ */
+ public AClassFigure()
+ {
+
+ ToolbarLayout layoutThis = new ToolbarLayout();
+ layoutThis.setStretchMinorAxis(true);
+ layoutThis.setMinorAlignment(ToolbarLayout.ALIGN_CENTER);
+
+ layoutThis.setSpacing(0);
+ layoutThis.setVertical(true);
+
+ this.setLayoutManager(layoutThis);
+
+ this.setLineWidth(1);
+ this.setBackgroundColor(THIS_BACK);
+ createContents();
+ }
+
+ /**
+ * @generated
+ */
+ private void createContents()
+ {
+
+ fFigureAClassNameFigure = new WrappingLabel();
+ fFigureAClassNameFigure.setText("<...>");
+
+ this.add(fFigureAClassNameFigure);
+
+ fFigureClassAttributes = new RectangleFigure();
+ fFigureClassAttributes.setLineWidth(1);
+
+ this.add(fFigureClassAttributes);
+ fFigureClassAttributes.setLayoutManager(new StackLayout());
+
+ fFigureClassOperations = new RectangleFigure();
+ fFigureClassOperations.setLineWidth(1);
+
+ this.add(fFigureClassOperations);
+ fFigureClassOperations.setLayoutManager(new StackLayout());
+
+ }
+
+ /**
+ * @generated
+ */
+ private boolean myUseLocalCoordinates = false;
+
+ /**
+ * @generated
+ */
+ protected boolean useLocalCoordinates()
+ {
+ return myUseLocalCoordinates;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setUseLocalCoordinates(boolean useLocalCoordinates)
+ {
+ myUseLocalCoordinates = useLocalCoordinates;
+ }
+
+ /**
+ * @generated
+ */
+ public RectangleFigure getFigureClassAttributes()
+ {
+ return fFigureClassAttributes;
+ }
+
+ /**
+ * @generated
+ */
+ public WrappingLabel getFigureAClassNameFigure()
+ {
+ return fFigureAClassNameFigure;
+ }
+
+ /**
+ * @generated
+ */
+ public RectangleFigure getFigureClassOperations()
+ {
+ return fFigureClassOperations;
+ }
+
+ }
+
+ /**
+ * @generated
+ */
+ static final Color THIS_BACK = new Color(null, 230, 230, 255);
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassImplementedInterfacesEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassImplementedInterfacesEditPart.java
index a84dde0894..b06a705897 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassImplementedInterfacesEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassImplementedInterfacesEditPart.java
@@ -1,103 +1,103 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassImplementedInterfacesItemSemanticEditPolicy;
-
-import org.eclipse.draw2d.Connection;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.PolylineDecoration;
-import org.eclipse.draw2d.RotatableDecoration;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AClassImplementedInterfacesEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 4002;
-
- /**
- * @generated
- */
- public AClassImplementedInterfacesEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassImplementedInterfacesItemSemanticEditPolicy());
- }
-
- /**
- * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
- * safely remove <i>generated</i> tag and modify it.
- *
- * @generated
- */
-
- protected Connection createConnectionFigure()
- {
- return new AClassImplementedInterfacesFigure();
- }
-
- /**
- * @generated
- */
- public AClassImplementedInterfacesFigure getPrimaryShape()
- {
- return (AClassImplementedInterfacesFigure)getFigure();
- }
-
- /**
- * @generated
- */
- public class AClassImplementedInterfacesFigure extends PolylineConnectionEx
- {
-
- /**
- * @generated
- */
- public AClassImplementedInterfacesFigure()
- {
- this.setLineWidth(1);
- this.setLineStyle(Graphics.LINE_DASH);
-
- setTargetDecoration(createTargetDecoration());
- }
-
- /**
- * @generated
- */
- private RotatableDecoration createTargetDecoration()
- {
- PolylineDecoration df = new PolylineDecoration();
- df.setLineWidth(1);
- return df;
- }
-
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassImplementedInterfacesItemSemanticEditPolicy;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.PolylineDecoration;
+import org.eclipse.draw2d.RotatableDecoration;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AClassImplementedInterfacesEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 4002;
+
+ /**
+ * @generated
+ */
+ public AClassImplementedInterfacesEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassImplementedInterfacesItemSemanticEditPolicy());
+ }
+
+ /**
+ * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
+ * safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+
+ protected Connection createConnectionFigure()
+ {
+ return new AClassImplementedInterfacesFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public AClassImplementedInterfacesFigure getPrimaryShape()
+ {
+ return (AClassImplementedInterfacesFigure)getFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public class AClassImplementedInterfacesFigure extends PolylineConnectionEx
+ {
+
+ /**
+ * @generated
+ */
+ public AClassImplementedInterfacesFigure()
+ {
+ this.setLineWidth(1);
+ this.setLineStyle(Graphics.LINE_DASH);
+
+ setTargetDecoration(createTargetDecoration());
+ }
+
+ /**
+ * @generated
+ */
+ private RotatableDecoration createTargetDecoration()
+ {
+ PolylineDecoration df = new PolylineDecoration();
+ df.setLineWidth(1);
+ return df;
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassNameEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassNameEditPart.java
index 4e6fe0771f..8c607a34ff 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassNameEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassNameEditPart.java
@@ -1,685 +1,685 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RunnableWithResult;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.AccessibleEditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
-import org.eclipse.gef.handles.MoveHandle;
-import org.eclipse.gef.handles.NonResizableHandleKit;
-import org.eclipse.gef.requests.DirectEditRequest;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AClassNameEditPart extends CompartmentEditPart implements ITextAwareEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 5002;
-
- /**
- * @generated
- */
- private DirectEditManager manager;
-
- /**
- * @generated
- */
- private IParser parser;
-
- /**
- * @generated
- */
- private List parserElements;
-
- /**
- * @generated
- */
- private String defaultText;
-
- /**
- * @generated
- */
- public AClassNameEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new AcoreTextSelectionEditPolicy());
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new NonResizableEditPolicy()
- {
-
- protected List createSelectionHandles()
- {
- List handles = new ArrayList();
- NonResizableHandleKit.addMoveHandle((GraphicalEditPart)getHost(), handles);
- ((MoveHandle)handles.get(0)).setBorder(null);
- return handles;
- }
-
- public Command getCommand(Request request)
- {
- return null;
- }
-
- public boolean understandsRequest(Request request)
- {
- return false;
- }
- });
- }
-
- /**
- * @generated
- */
- protected String getLabelTextHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getText();
- }
- else
- {
- return ((Label)figure).getText();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelTextHelper(IFigure figure, String text)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setText(text);
- }
- else
- {
- ((Label)figure).setText(text);
- }
- }
-
- /**
- * @generated
- */
- protected Image getLabelIconHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getIcon();
- }
- else
- {
- return ((Label)figure).getIcon();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelIconHelper(IFigure figure, Image icon)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setIcon(icon);
- }
- else
- {
- ((Label)figure).setIcon(icon);
- }
- }
-
- /**
- * @generated
- */
- public void setLabel(WrappingLabel figure)
- {
- unregisterVisuals();
- setFigure(figure);
- defaultText = getLabelTextHelper(figure);
- registerVisuals();
- refreshVisuals();
- }
-
- /**
- * @generated
- */
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected EObject getParserElement()
- {
- return resolveSemanticElement();
- }
-
- /**
- * @generated
- */
- protected Image getLabelIcon()
- {
- EObject parserElement = getParserElement();
- if (parserElement == null)
- {
- return null;
- }
- return AcoreElementTypes.getImage(parserElement.eClass());
- }
-
- /**
- * @generated
- */
- protected String getLabelText()
- {
- String text = null;
- EObject parserElement = getParserElement();
- if (parserElement != null && getParser() != null)
- {
- text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
- }
- if (text == null || text.length() == 0)
- {
- text = defaultText;
- }
- return text;
- }
-
- /**
- * @generated
- */
- public void setLabelText(String text)
- {
- setLabelTextHelper(getFigure(), text);
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- public String getEditText()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return ""; //$NON-NLS-1$
- }
- return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
- }
-
- /**
- * @generated
- */
- protected boolean isEditable()
- {
- return getParser() != null;
- }
-
- /**
- * @generated
- */
- public ICellEditorValidator getEditTextValidator()
- {
- return new ICellEditorValidator()
- {
-
- public String isValid(final Object value)
- {
- if (value instanceof String)
- {
- final EObject element = getParserElement();
- final IParser parser = getParser();
- try
- {
- IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
- {
-
- public void run()
- {
- setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
- }
- });
- return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
-
- // shouldn't get here
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return null;
- }
- return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
- }
-
- /**
- * @generated
- */
- public ParserOptions getParserOptions()
- {
- return ParserOptions.NONE;
- }
-
- /**
- * @generated
- */
- public IParser getParser()
- {
- if (parser == null)
- {
- parser = AcoreParserProvider.getParser(AcoreElementTypes.AClass_2002, getParserElement(), AcoreVisualIDRegistry
- .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart.VISUAL_ID));
- }
- return parser;
- }
-
- /**
- * @generated
- */
- protected DirectEditManager getManager()
- {
- if (manager == null)
- {
- setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
- AcoreEditPartFactory.getTextCellEditorLocator(this)));
- }
- return manager;
- }
-
- /**
- * @generated
- */
- protected void setManager(DirectEditManager manager)
- {
- this.manager = manager;
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit()
- {
- getManager().show();
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit(Point eventLocation)
- {
- if (getManager().getClass() == TextDirectEditManager.class)
- {
- ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
- }
- }
-
- /**
- * @generated
- */
- private void performDirectEdit(char initialCharacter)
- {
- if (getManager() instanceof TextDirectEditManager)
- {
- ((TextDirectEditManager)getManager()).show(initialCharacter);
- }
- else
- {
- performDirectEdit();
- }
- }
-
- /**
- * @generated
- */
- protected void performDirectEditRequest(Request request)
- {
- final Request theRequest = request;
- try
- {
- getEditingDomain().runExclusive(new Runnable()
- {
-
- public void run()
- {
- if (isActive() && isEditable())
- {
- if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
- {
- Character initialChar = (Character)theRequest.getExtendedData().get(
- RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
- performDirectEdit(initialChar.charValue());
- }
- else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
- {
- DirectEditRequest editRequest = (DirectEditRequest)theRequest;
- performDirectEdit(editRequest.getLocation());
- }
- else
- {
- performDirectEdit();
- }
- }
- }
- });
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- refreshLabel();
- refreshFont();
- refreshFontColor();
- refreshUnderline();
- refreshStrikeThrough();
- }
-
- /**
- * @generated
- */
- protected void refreshLabel()
- {
- setLabelTextHelper(getFigure(), getLabelText());
- setLabelIconHelper(getFigure(), getLabelIcon());
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshUnderline()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshStrikeThrough()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFont()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null)
- {
- FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
- : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
- setFont(fontData);
- }
- }
-
- /**
- * @generated
- */
- protected void setFontColor(Color color)
- {
- getFigure().setForegroundColor(color);
- }
-
- /**
- * @generated
- */
- protected void addSemanticListeners()
- {
- if (getParser() instanceof ISemanticParser)
- {
- EObject element = resolveSemanticElement();
- parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
- for (int i = 0; i < parserElements.size(); i++)
- {
- addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
- }
- }
- else
- {
- super.addSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected void removeSemanticListeners()
- {
- if (parserElements != null)
- {
- for (int i = 0; i < parserElements.size(); i++)
- {
- removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
- }
- }
- else
- {
- super.removeSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected AccessibleEditPart getAccessibleEditPart()
- {
- if (accessibleEP == null)
- {
- accessibleEP = new AccessibleGraphicalEditPart()
- {
-
- public void getName(AccessibleEvent e)
- {
- e.result = getLabelTextHelper(getFigure());
- }
- };
- }
- return accessibleEP;
- }
-
- /**
- * @generated
- */
- private View getFontStyleOwnerView()
- {
- return getPrimaryView();
- }
-
- /**
- * @generated
- */
- protected void addNotationalListeners()
- {
- super.addNotationalListeners();
- addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void removeNotationalListeners()
- {
- super.removeNotationalListeners();
- removeListenerFilter("PrimaryView"); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification event)
- {
- Object feature = event.getFeature();
- if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
- {
- Integer c = (Integer)event.getNewValue();
- setFontColor(DiagramColorRegistry.getInstance().getColor(c));
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
- {
- refreshUnderline();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
- {
- refreshStrikeThrough();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
- {
- refreshFont();
- }
- else
- {
- if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
- {
- refreshLabel();
- }
- if (getParser() instanceof ISemanticParser)
- {
- ISemanticParser modelParser = (ISemanticParser)getParser();
- if (modelParser.areSemanticElementsAffected(null, event))
- {
- removeSemanticListeners();
- if (resolveSemanticElement() != null)
- {
- addSemanticListeners();
- }
- refreshLabel();
- }
- }
- }
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected IFigure createFigure()
- {
- // Parent should assign one using setLabel() method
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RunnableWithResult;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.eclipse.gef.handles.MoveHandle;
+import org.eclipse.gef.handles.NonResizableHandleKit;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AClassNameEditPart extends CompartmentEditPart implements ITextAwareEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 5002;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * @generated
+ */
+ public AClassNameEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new AcoreTextSelectionEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new NonResizableEditPolicy()
+ {
+
+ protected List createSelectionHandles()
+ {
+ List handles = new ArrayList();
+ NonResizableHandleKit.addMoveHandle((GraphicalEditPart)getHost(), handles);
+ ((MoveHandle)handles.get(0)).setBorder(null);
+ return handles;
+ }
+
+ public Command getCommand(Request request)
+ {
+ return null;
+ }
+
+ public boolean understandsRequest(Request request)
+ {
+ return false;
+ }
+ });
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getText();
+ }
+ else
+ {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setText(text);
+ }
+ else
+ {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getIcon();
+ }
+ else
+ {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setIcon(icon);
+ }
+ else
+ {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(WrappingLabel figure)
+ {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement()
+ {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon()
+ {
+ EObject parserElement = getParserElement();
+ if (parserElement == null)
+ {
+ return null;
+ }
+ return AcoreElementTypes.getImage(parserElement.eClass());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText()
+ {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if (parserElement != null && getParser() != null)
+ {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if (text == null || text.length() == 0)
+ {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text)
+ {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable()
+ {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator()
+ {
+ return new ICellEditorValidator()
+ {
+
+ public String isValid(final Object value)
+ {
+ if (value instanceof String)
+ {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try
+ {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
+ {
+
+ public void run()
+ {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ }
+ catch (InterruptedException ie)
+ {
+ ie.printStackTrace();
+ }
+ }
+
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions()
+ {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser()
+ {
+ if (parser == null)
+ {
+ parser = AcoreParserProvider.getParser(AcoreElementTypes.AClass_2002, getParserElement(), AcoreVisualIDRegistry
+ .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager()
+ {
+ if (manager == null)
+ {
+ setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
+ AcoreEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager)
+ {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit()
+ {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation)
+ {
+ if (getManager().getClass() == TextDirectEditManager.class)
+ {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter)
+ {
+ if (getManager() instanceof TextDirectEditManager)
+ {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request)
+ {
+ final Request theRequest = request;
+ try
+ {
+ getEditingDomain().runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ if (isActive() && isEditable())
+ {
+ if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
+ {
+ Character initialChar = (Character)theRequest.getExtendedData().get(
+ RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ }
+ else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
+ {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals()
+ {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel()
+ {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null)
+ {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
+ : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color)
+ {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners()
+ {
+ if (getParser() instanceof ISemanticParser)
+ {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners()
+ {
+ if (parserElements != null)
+ {
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart()
+ {
+ if (accessibleEP == null)
+ {
+ accessibleEP = new AccessibleGraphicalEditPart()
+ {
+
+ public void getName(AccessibleEvent e)
+ {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView()
+ {
+ return getPrimaryView();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners()
+ {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners()
+ {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event)
+ {
+ Object feature = event.getFeature();
+ if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
+ {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
+ {
+ refreshUnderline();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
+ {
+ refreshStrikeThrough();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
+ {
+ refreshFont();
+ }
+ else
+ {
+ if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
+ {
+ refreshLabel();
+ }
+ if (getParser() instanceof ISemanticParser)
+ {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if (modelParser.areSemanticElementsAffected(null, event))
+ {
+ removeSemanticListeners();
+ if (resolveSemanticElement() != null)
+ {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure()
+ {
+ // Parent should assign one using setLabel() method
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassSubClassesEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassSubClassesEditPart.java
index 0f8cce2904..c12e510b9a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassSubClassesEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AClassSubClassesEditPart.java
@@ -1,117 +1,117 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassSubClassesItemSemanticEditPolicy;
-
-import org.eclipse.draw2d.Connection;
-import org.eclipse.draw2d.PolygonDecoration;
-import org.eclipse.draw2d.RotatableDecoration;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @generated
- */
-public class AClassSubClassesEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 4001;
-
- /**
- * @generated
- */
- public AClassSubClassesEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassSubClassesItemSemanticEditPolicy());
- }
-
- /**
- * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
- * safely remove <i>generated</i> tag and modify it.
- *
- * @generated
- */
-
- protected Connection createConnectionFigure()
- {
- return new AClassSubClassesFigure();
- }
-
- /**
- * @generated
- */
- public AClassSubClassesFigure getPrimaryShape()
- {
- return (AClassSubClassesFigure)getFigure();
- }
-
- /**
- * @generated
- */
- public class AClassSubClassesFigure extends PolylineConnectionEx
- {
-
- /**
- * @generated
- */
- public AClassSubClassesFigure()
- {
- this.setLineWidth(1);
-
- setTargetDecoration(createTargetDecoration());
- }
-
- /**
- * @generated
- */
- private RotatableDecoration createTargetDecoration()
- {
- PolygonDecoration df = new PolygonDecoration();
- df.setFill(true);
- df.setLineWidth(1);
- df.setBackgroundColor(DF_BACK);
- PointList pl = new PointList();
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
- pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2));
- pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
- df.setTemplate(pl);
- df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
- return df;
- }
-
- }
-
- /**
- * @generated
- */
- static final Color DF_BACK = new Color(null, 255, 255, 255);
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AClassSubClassesItemSemanticEditPolicy;
+
+import org.eclipse.draw2d.Connection;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.RotatableDecoration;
+import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITreeBranchEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @generated
+ */
+public class AClassSubClassesEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 4001;
+
+ /**
+ * @generated
+ */
+ public AClassSubClassesEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AClassSubClassesItemSemanticEditPolicy());
+ }
+
+ /**
+ * Creates figure for this edit part. Body of this method does not depend on settings in generation model so you may
+ * safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+
+ protected Connection createConnectionFigure()
+ {
+ return new AClassSubClassesFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public AClassSubClassesFigure getPrimaryShape()
+ {
+ return (AClassSubClassesFigure)getFigure();
+ }
+
+ /**
+ * @generated
+ */
+ public class AClassSubClassesFigure extends PolylineConnectionEx
+ {
+
+ /**
+ * @generated
+ */
+ public AClassSubClassesFigure()
+ {
+ this.setLineWidth(1);
+
+ setTargetDecoration(createTargetDecoration());
+ }
+
+ /**
+ * @generated
+ */
+ private RotatableDecoration createTargetDecoration()
+ {
+ PolygonDecoration df = new PolygonDecoration();
+ df.setFill(true);
+ df.setLineWidth(1);
+ df.setBackgroundColor(DF_BACK);
+ PointList pl = new PointList();
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
+ pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2));
+ pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2));
+ df.setTemplate(pl);
+ df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
+ return df;
+ }
+
+ }
+
+ /**
+ * @generated
+ */
+ static final Color DF_BACK = new Color(null, 255, 255, 255);
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/ACoreRootEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/ACoreRootEditPart.java
index 894fe7d2a4..3b36f7bf7c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/ACoreRootEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/ACoreRootEditPart.java
@@ -1,56 +1,56 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.ACoreRootCanonicalEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.ACoreRootItemSemanticEditPolicy;
-
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class ACoreRootEditPart extends DiagramEditPart
-{
-
- /**
- * @generated
- */
- public final static String MODEL_ID = "Acore"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 1000;
-
- /**
- * @generated
- */
- public ACoreRootEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ACoreRootItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new ACoreRootCanonicalEditPolicy());
- // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.POPUPBAR_ROLE);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.ACoreRootCanonicalEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.ACoreRootItemSemanticEditPolicy;
+
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class ACoreRootEditPart extends DiagramEditPart
+{
+
+ /**
+ * @generated
+ */
+ public final static String MODEL_ID = "Acore"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 1000;
+
+ /**
+ * @generated
+ */
+ public ACoreRootEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ACoreRootItemSemanticEditPolicy());
+ installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new ACoreRootCanonicalEditPolicy());
+ // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.POPUPBAR_ROLE);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAAttributeInterfaceCompartmentEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAAttributeInterfaceCompartmentEditPart.java
index e4f7c1f34f..f3fd856c6e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAAttributeInterfaceCompartmentEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAAttributeInterfaceCompartmentEditPart.java
@@ -1,95 +1,95 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AInterfaceAAttributeInterfaceCompartmentEditPart extends ListCompartmentEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 7001;
-
- /**
- * @generated
- */
- public AInterfaceAAttributeInterfaceCompartmentEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected boolean hasModelChildrenChanged(Notification evt)
- {
- return false;
- }
-
- /**
- * @generated
- */
- public String getCompartmentName()
- {
- return Messages.AInterfaceAAttributeInterfaceCompartmentEditPart_title;
- }
-
- /**
- * @generated
- */
- public IFigure createFigure()
- {
- ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
- result.setTitleVisibility(false);
- return result;
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
- new AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
- installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy());
- }
-
- /**
- * @generated
- */
- protected void setRatio(Double ratio)
- {
- // nothing to do -- parent layout does not accept Double constraints as ratio
- // super.setRatio(ratio);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AInterfaceAAttributeInterfaceCompartmentEditPart extends ListCompartmentEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 7001;
+
+ /**
+ * @generated
+ */
+ public AInterfaceAAttributeInterfaceCompartmentEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean hasModelChildrenChanged(Notification evt)
+ {
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public String getCompartmentName()
+ {
+ return Messages.AInterfaceAAttributeInterfaceCompartmentEditPart_title;
+ }
+
+ /**
+ * @generated
+ */
+ public IFigure createFigure()
+ {
+ ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
+ result.setTitleVisibility(false);
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
+ new AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy());
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
+ installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected void setRatio(Double ratio)
+ {
+ // nothing to do -- parent layout does not accept Double constraints as ratio
+ // super.setRatio(ratio);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAOperationInterfaceCompartmentEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAOperationInterfaceCompartmentEditPart.java
index 88c34562f6..300676d832 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAOperationInterfaceCompartmentEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceAOperationInterfaceCompartmentEditPart.java
@@ -1,95 +1,95 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AInterfaceAOperationInterfaceCompartmentEditPart extends ListCompartmentEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 7002;
-
- /**
- * @generated
- */
- public AInterfaceAOperationInterfaceCompartmentEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected boolean hasModelChildrenChanged(Notification evt)
- {
- return false;
- }
-
- /**
- * @generated
- */
- public String getCompartmentName()
- {
- return Messages.AInterfaceAOperationInterfaceCompartmentEditPart_title;
- }
-
- /**
- * @generated
- */
- public IFigure createFigure()
- {
- ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
- result.setTitleVisibility(false);
- return result;
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
- new AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
- installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy());
- }
-
- /**
- * @generated
- */
- protected void setRatio(Double ratio)
- {
- // nothing to do -- parent layout does not accept Double constraints as ratio
- // super.setRatio(ratio);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ListCompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AInterfaceAOperationInterfaceCompartmentEditPart extends ListCompartmentEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 7002;
+
+ /**
+ * @generated
+ */
+ public AInterfaceAOperationInterfaceCompartmentEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean hasModelChildrenChanged(Notification evt)
+ {
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public String getCompartmentName()
+ {
+ return Messages.AInterfaceAOperationInterfaceCompartmentEditPart_title;
+ }
+
+ /**
+ * @generated
+ */
+ public IFigure createFigure()
+ {
+ ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
+ result.setTitleVisibility(false);
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
+ new AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy());
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
+ installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected void setRatio(Double ratio)
+ {
+ // nothing to do -- parent layout does not accept Double constraints as ratio
+ // super.setRatio(ratio);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceNameEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceNameEditPart.java
index 654df5b58e..99b0633216 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceNameEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AInterfaceNameEditPart.java
@@ -1,686 +1,686 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RunnableWithResult;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.AccessibleEditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
-import org.eclipse.gef.handles.MoveHandle;
-import org.eclipse.gef.handles.NonResizableHandleKit;
-import org.eclipse.gef.requests.DirectEditRequest;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AInterfaceNameEditPart extends CompartmentEditPart implements ITextAwareEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 5001;
-
- /**
- * @generated
- */
- private DirectEditManager manager;
-
- /**
- * @generated
- */
- private IParser parser;
-
- /**
- * @generated
- */
- private List parserElements;
-
- /**
- * @generated
- */
- private String defaultText;
-
- /**
- * @generated
- */
- public AInterfaceNameEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new AcoreTextSelectionEditPolicy());
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new NonResizableEditPolicy()
- {
-
- protected List createSelectionHandles()
- {
- List handles = new ArrayList();
- NonResizableHandleKit.addMoveHandle((GraphicalEditPart)getHost(), handles);
- ((MoveHandle)handles.get(0)).setBorder(null);
- return handles;
- }
-
- public Command getCommand(Request request)
- {
- return null;
- }
-
- public boolean understandsRequest(Request request)
- {
- return false;
- }
- });
- }
-
- /**
- * @generated
- */
- protected String getLabelTextHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getText();
- }
- else
- {
- return ((Label)figure).getText();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelTextHelper(IFigure figure, String text)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setText(text);
- }
- else
- {
- ((Label)figure).setText(text);
- }
- }
-
- /**
- * @generated
- */
- protected Image getLabelIconHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getIcon();
- }
- else
- {
- return ((Label)figure).getIcon();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelIconHelper(IFigure figure, Image icon)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setIcon(icon);
- }
- else
- {
- ((Label)figure).setIcon(icon);
- }
- }
-
- /**
- * @generated
- */
- public void setLabel(WrappingLabel figure)
- {
- unregisterVisuals();
- setFigure(figure);
- defaultText = getLabelTextHelper(figure);
- registerVisuals();
- refreshVisuals();
- }
-
- /**
- * @generated
- */
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected EObject getParserElement()
- {
- return resolveSemanticElement();
- }
-
- /**
- * @generated
- */
- protected Image getLabelIcon()
- {
- EObject parserElement = getParserElement();
- if (parserElement == null)
- {
- return null;
- }
- return AcoreElementTypes.getImage(parserElement.eClass());
- }
-
- /**
- * @generated
- */
- protected String getLabelText()
- {
- String text = null;
- EObject parserElement = getParserElement();
- if (parserElement != null && getParser() != null)
- {
- text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
- }
- if (text == null || text.length() == 0)
- {
- text = defaultText;
- }
- return text;
- }
-
- /**
- * @generated
- */
- public void setLabelText(String text)
- {
- setLabelTextHelper(getFigure(), text);
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- public String getEditText()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return ""; //$NON-NLS-1$
- }
- return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
- }
-
- /**
- * @generated
- */
- protected boolean isEditable()
- {
- return getParser() != null;
- }
-
- /**
- * @generated
- */
- public ICellEditorValidator getEditTextValidator()
- {
- return new ICellEditorValidator()
- {
-
- public String isValid(final Object value)
- {
- if (value instanceof String)
- {
- final EObject element = getParserElement();
- final IParser parser = getParser();
- try
- {
- IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
- {
-
- public void run()
- {
- setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
- }
- });
- return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
-
- // shouldn't get here
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return null;
- }
- return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
- }
-
- /**
- * @generated
- */
- public ParserOptions getParserOptions()
- {
- return ParserOptions.NONE;
- }
-
- /**
- * @generated
- */
- public IParser getParser()
- {
- if (parser == null)
- {
- parser = AcoreParserProvider.getParser(AcoreElementTypes.AInterface_2001, getParserElement(),
- AcoreVisualIDRegistry
- .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart.VISUAL_ID));
- }
- return parser;
- }
-
- /**
- * @generated
- */
- protected DirectEditManager getManager()
- {
- if (manager == null)
- {
- setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
- AcoreEditPartFactory.getTextCellEditorLocator(this)));
- }
- return manager;
- }
-
- /**
- * @generated
- */
- protected void setManager(DirectEditManager manager)
- {
- this.manager = manager;
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit()
- {
- getManager().show();
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit(Point eventLocation)
- {
- if (getManager().getClass() == TextDirectEditManager.class)
- {
- ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
- }
- }
-
- /**
- * @generated
- */
- private void performDirectEdit(char initialCharacter)
- {
- if (getManager() instanceof TextDirectEditManager)
- {
- ((TextDirectEditManager)getManager()).show(initialCharacter);
- }
- else
- {
- performDirectEdit();
- }
- }
-
- /**
- * @generated
- */
- protected void performDirectEditRequest(Request request)
- {
- final Request theRequest = request;
- try
- {
- getEditingDomain().runExclusive(new Runnable()
- {
-
- public void run()
- {
- if (isActive() && isEditable())
- {
- if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
- {
- Character initialChar = (Character)theRequest.getExtendedData().get(
- RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
- performDirectEdit(initialChar.charValue());
- }
- else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
- {
- DirectEditRequest editRequest = (DirectEditRequest)theRequest;
- performDirectEdit(editRequest.getLocation());
- }
- else
- {
- performDirectEdit();
- }
- }
- }
- });
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- refreshLabel();
- refreshFont();
- refreshFontColor();
- refreshUnderline();
- refreshStrikeThrough();
- }
-
- /**
- * @generated
- */
- protected void refreshLabel()
- {
- setLabelTextHelper(getFigure(), getLabelText());
- setLabelIconHelper(getFigure(), getLabelIcon());
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshUnderline()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshStrikeThrough()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFont()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null)
- {
- FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
- : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
- setFont(fontData);
- }
- }
-
- /**
- * @generated
- */
- protected void setFontColor(Color color)
- {
- getFigure().setForegroundColor(color);
- }
-
- /**
- * @generated
- */
- protected void addSemanticListeners()
- {
- if (getParser() instanceof ISemanticParser)
- {
- EObject element = resolveSemanticElement();
- parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
- for (int i = 0; i < parserElements.size(); i++)
- {
- addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
- }
- }
- else
- {
- super.addSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected void removeSemanticListeners()
- {
- if (parserElements != null)
- {
- for (int i = 0; i < parserElements.size(); i++)
- {
- removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
- }
- }
- else
- {
- super.removeSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected AccessibleEditPart getAccessibleEditPart()
- {
- if (accessibleEP == null)
- {
- accessibleEP = new AccessibleGraphicalEditPart()
- {
-
- public void getName(AccessibleEvent e)
- {
- e.result = getLabelTextHelper(getFigure());
- }
- };
- }
- return accessibleEP;
- }
-
- /**
- * @generated
- */
- private View getFontStyleOwnerView()
- {
- return getPrimaryView();
- }
-
- /**
- * @generated
- */
- protected void addNotationalListeners()
- {
- super.addNotationalListeners();
- addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void removeNotationalListeners()
- {
- super.removeNotationalListeners();
- removeListenerFilter("PrimaryView"); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification event)
- {
- Object feature = event.getFeature();
- if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
- {
- Integer c = (Integer)event.getNewValue();
- setFontColor(DiagramColorRegistry.getInstance().getColor(c));
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
- {
- refreshUnderline();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
- {
- refreshStrikeThrough();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
- {
- refreshFont();
- }
- else
- {
- if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
- {
- refreshLabel();
- }
- if (getParser() instanceof ISemanticParser)
- {
- ISemanticParser modelParser = (ISemanticParser)getParser();
- if (modelParser.areSemanticElementsAffected(null, event))
- {
- removeSemanticListeners();
- if (resolveSemanticElement() != null)
- {
- addSemanticListeners();
- }
- refreshLabel();
- }
- }
- }
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected IFigure createFigure()
- {
- // Parent should assign one using setLabel() method
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RunnableWithResult;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.eclipse.gef.handles.MoveHandle;
+import org.eclipse.gef.handles.NonResizableHandleKit;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AInterfaceNameEditPart extends CompartmentEditPart implements ITextAwareEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 5001;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * @generated
+ */
+ public AInterfaceNameEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new AcoreTextSelectionEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new NonResizableEditPolicy()
+ {
+
+ protected List createSelectionHandles()
+ {
+ List handles = new ArrayList();
+ NonResizableHandleKit.addMoveHandle((GraphicalEditPart)getHost(), handles);
+ ((MoveHandle)handles.get(0)).setBorder(null);
+ return handles;
+ }
+
+ public Command getCommand(Request request)
+ {
+ return null;
+ }
+
+ public boolean understandsRequest(Request request)
+ {
+ return false;
+ }
+ });
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getText();
+ }
+ else
+ {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setText(text);
+ }
+ else
+ {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getIcon();
+ }
+ else
+ {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setIcon(icon);
+ }
+ else
+ {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(WrappingLabel figure)
+ {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement()
+ {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon()
+ {
+ EObject parserElement = getParserElement();
+ if (parserElement == null)
+ {
+ return null;
+ }
+ return AcoreElementTypes.getImage(parserElement.eClass());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText()
+ {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if (parserElement != null && getParser() != null)
+ {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if (text == null || text.length() == 0)
+ {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text)
+ {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable()
+ {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator()
+ {
+ return new ICellEditorValidator()
+ {
+
+ public String isValid(final Object value)
+ {
+ if (value instanceof String)
+ {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try
+ {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
+ {
+
+ public void run()
+ {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ }
+ catch (InterruptedException ie)
+ {
+ ie.printStackTrace();
+ }
+ }
+
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions()
+ {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser()
+ {
+ if (parser == null)
+ {
+ parser = AcoreParserProvider.getParser(AcoreElementTypes.AInterface_2001, getParserElement(),
+ AcoreVisualIDRegistry
+ .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager()
+ {
+ if (manager == null)
+ {
+ setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
+ AcoreEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager)
+ {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit()
+ {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation)
+ {
+ if (getManager().getClass() == TextDirectEditManager.class)
+ {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter)
+ {
+ if (getManager() instanceof TextDirectEditManager)
+ {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request)
+ {
+ final Request theRequest = request;
+ try
+ {
+ getEditingDomain().runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ if (isActive() && isEditable())
+ {
+ if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
+ {
+ Character initialChar = (Character)theRequest.getExtendedData().get(
+ RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ }
+ else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
+ {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals()
+ {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel()
+ {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null)
+ {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
+ : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color)
+ {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners()
+ {
+ if (getParser() instanceof ISemanticParser)
+ {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners()
+ {
+ if (parserElements != null)
+ {
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart()
+ {
+ if (accessibleEP == null)
+ {
+ accessibleEP = new AccessibleGraphicalEditPart()
+ {
+
+ public void getName(AccessibleEvent e)
+ {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView()
+ {
+ return getPrimaryView();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners()
+ {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners()
+ {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event)
+ {
+ Object feature = event.getFeature();
+ if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
+ {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
+ {
+ refreshUnderline();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
+ {
+ refreshStrikeThrough();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
+ {
+ refreshFont();
+ }
+ else
+ {
+ if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
+ {
+ refreshLabel();
+ }
+ if (getParser() instanceof ISemanticParser)
+ {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if (modelParser.areSemanticElementsAffected(null, event))
+ {
+ removeSemanticListeners();
+ if (resolveSemanticElement() != null)
+ {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure()
+ {
+ // Parent should assign one using setLabel() method
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperation2EditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperation2EditPart.java
index 0b5e1198e7..825351a549 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperation2EditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperation2EditPart.java
@@ -1,684 +1,684 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AOperation2ItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RunnableWithResult;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.AccessibleEditPart;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DirectEditRequest;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
-import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AOperation2EditPart extends CompartmentEditPart implements ITextAwareEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 3004;
-
- /**
- * @generated
- */
- private DirectEditManager manager;
-
- /**
- * @generated
- */
- private IParser parser;
-
- /**
- * @generated
- */
- private List parserElements;
-
- /**
- * @generated
- */
- private String defaultText;
-
- /**
- * @generated
- */
- public AOperation2EditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- public DragTracker getDragTracker(Request request)
- {
- if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
- {
- return null;
- }
- return new DragEditPartsTrackerEx(this);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AOperation2ItemSemanticEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
- installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
- }
-
- /**
- * @generated
- */
- protected String getLabelTextHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getText();
- }
- else
- {
- return ((Label)figure).getText();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelTextHelper(IFigure figure, String text)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setText(text);
- }
- else
- {
- ((Label)figure).setText(text);
- }
- }
-
- /**
- * @generated
- */
- protected Image getLabelIconHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getIcon();
- }
- else
- {
- return ((Label)figure).getIcon();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelIconHelper(IFigure figure, Image icon)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setIcon(icon);
- }
- else
- {
- ((Label)figure).setIcon(icon);
- }
- }
-
- /**
- * @generated
- */
- public void setLabel(IFigure figure)
- {
- unregisterVisuals();
- setFigure(figure);
- defaultText = getLabelTextHelper(figure);
- registerVisuals();
- refreshVisuals();
- }
-
- /**
- * @generated
- */
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected EObject getParserElement()
- {
- return resolveSemanticElement();
- }
-
- /**
- * @generated
- */
- protected Image getLabelIcon()
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected String getLabelText()
- {
- String text = null;
- EObject parserElement = getParserElement();
- if (parserElement != null && getParser() != null)
- {
- text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
- }
- if (text == null || text.length() == 0)
- {
- text = defaultText;
- }
- return text;
- }
-
- /**
- * @generated
- */
- public void setLabelText(String text)
- {
- setLabelTextHelper(getFigure(), text);
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- public String getEditText()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return ""; //$NON-NLS-1$
- }
- return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
- }
-
- /**
- * @generated
- */
- protected boolean isEditable()
- {
- return getParser() != null;
- }
-
- /**
- * @generated
- */
- public ICellEditorValidator getEditTextValidator()
- {
- return new ICellEditorValidator()
- {
-
- public String isValid(final Object value)
- {
- if (value instanceof String)
- {
- final EObject element = getParserElement();
- final IParser parser = getParser();
- try
- {
- IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
- {
-
- public void run()
- {
- setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
- }
- });
- return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
-
- // shouldn't get here
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return null;
- }
- return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
- }
-
- /**
- * @generated
- */
- public ParserOptions getParserOptions()
- {
- return ParserOptions.NONE;
- }
-
- /**
- * @generated
- */
- public IParser getParser()
- {
- if (parser == null)
- {
- parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3004, getParserElement(),
- AcoreVisualIDRegistry
- .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart.VISUAL_ID));
- }
- return parser;
- }
-
- /**
- * @generated
- */
- protected DirectEditManager getManager()
- {
- if (manager == null)
- {
- setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
- AcoreEditPartFactory.getTextCellEditorLocator(this)));
- }
- return manager;
- }
-
- /**
- * @generated
- */
- protected void setManager(DirectEditManager manager)
- {
- this.manager = manager;
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit()
- {
- getManager().show();
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit(Point eventLocation)
- {
- if (getManager().getClass() == TextDirectEditManager.class)
- {
- ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
- }
- }
-
- /**
- * @generated
- */
- private void performDirectEdit(char initialCharacter)
- {
- if (getManager() instanceof TextDirectEditManager)
- {
- ((TextDirectEditManager)getManager()).show(initialCharacter);
- }
- else
- {
- performDirectEdit();
- }
- }
-
- /**
- * @generated
- */
- protected void performDirectEditRequest(Request request)
- {
- final Request theRequest = request;
- try
- {
- getEditingDomain().runExclusive(new Runnable()
- {
-
- public void run()
- {
- if (isActive() && isEditable())
- {
- if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
- {
- Character initialChar = (Character)theRequest.getExtendedData().get(
- RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
- performDirectEdit(initialChar.charValue());
- }
- else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
- {
- DirectEditRequest editRequest = (DirectEditRequest)theRequest;
- performDirectEdit(editRequest.getLocation());
- }
- else
- {
- performDirectEdit();
- }
- }
- }
- });
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- refreshLabel();
- refreshFont();
- refreshFontColor();
- refreshUnderline();
- refreshStrikeThrough();
- }
-
- /**
- * @generated
- */
- protected void refreshLabel()
- {
- setLabelTextHelper(getFigure(), getLabelText());
- setLabelIconHelper(getFigure(), getLabelIcon());
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshUnderline()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshStrikeThrough()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFont()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null)
- {
- FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
- : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
- setFont(fontData);
- }
- }
-
- /**
- * @generated
- */
- protected void setFontColor(Color color)
- {
- getFigure().setForegroundColor(color);
- }
-
- /**
- * @generated
- */
- protected void addSemanticListeners()
- {
- if (getParser() instanceof ISemanticParser)
- {
- EObject element = resolveSemanticElement();
- parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
- for (int i = 0; i < parserElements.size(); i++)
- {
- addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
- }
- }
- else
- {
- super.addSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected void removeSemanticListeners()
- {
- if (parserElements != null)
- {
- for (int i = 0; i < parserElements.size(); i++)
- {
- removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
- }
- }
- else
- {
- super.removeSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected AccessibleEditPart getAccessibleEditPart()
- {
- if (accessibleEP == null)
- {
- accessibleEP = new AccessibleGraphicalEditPart()
- {
-
- public void getName(AccessibleEvent e)
- {
- e.result = getLabelTextHelper(getFigure());
- }
- };
- }
- return accessibleEP;
- }
-
- /**
- * @generated
- */
- private View getFontStyleOwnerView()
- {
- return getPrimaryView();
- }
-
- /**
- * @generated
- */
- protected void addNotationalListeners()
- {
- super.addNotationalListeners();
- addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void removeNotationalListeners()
- {
- super.removeNotationalListeners();
- removeListenerFilter("PrimaryView"); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification event)
- {
- Object feature = event.getFeature();
- if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
- {
- Integer c = (Integer)event.getNewValue();
- setFontColor(DiagramColorRegistry.getInstance().getColor(c));
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
- {
- refreshUnderline();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
- {
- refreshStrikeThrough();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
- {
- refreshFont();
- }
- else
- {
- if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
- {
- refreshLabel();
- }
- if (getParser() instanceof ISemanticParser)
- {
- ISemanticParser modelParser = (ISemanticParser)getParser();
- if (modelParser.areSemanticElementsAffected(null, event))
- {
- removeSemanticListeners();
- if (resolveSemanticElement() != null)
- {
- addSemanticListeners();
- }
- refreshLabel();
- }
- }
- }
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected IFigure createFigure()
- {
- IFigure label = createFigurePrim();
- defaultText = getLabelTextHelper(label);
- return label;
- }
-
- /**
- * @generated
- */
- protected IFigure createFigurePrim()
- {
- return new WrappingLabel();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AOperation2ItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RunnableWithResult;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.DragTracker;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.requests.SelectionRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AOperation2EditPart extends CompartmentEditPart implements ITextAwareEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 3004;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * @generated
+ */
+ public AOperation2EditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ public DragTracker getDragTracker(Request request)
+ {
+ if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
+ {
+ return null;
+ }
+ return new DragEditPartsTrackerEx(this);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AOperation2ItemSemanticEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
+ installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getText();
+ }
+ else
+ {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setText(text);
+ }
+ else
+ {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getIcon();
+ }
+ else
+ {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setIcon(icon);
+ }
+ else
+ {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(IFigure figure)
+ {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement()
+ {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon()
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText()
+ {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if (parserElement != null && getParser() != null)
+ {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if (text == null || text.length() == 0)
+ {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text)
+ {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable()
+ {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator()
+ {
+ return new ICellEditorValidator()
+ {
+
+ public String isValid(final Object value)
+ {
+ if (value instanceof String)
+ {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try
+ {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
+ {
+
+ public void run()
+ {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ }
+ catch (InterruptedException ie)
+ {
+ ie.printStackTrace();
+ }
+ }
+
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions()
+ {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser()
+ {
+ if (parser == null)
+ {
+ parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3004, getParserElement(),
+ AcoreVisualIDRegistry
+ .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager()
+ {
+ if (manager == null)
+ {
+ setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
+ AcoreEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager)
+ {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit()
+ {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation)
+ {
+ if (getManager().getClass() == TextDirectEditManager.class)
+ {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter)
+ {
+ if (getManager() instanceof TextDirectEditManager)
+ {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request)
+ {
+ final Request theRequest = request;
+ try
+ {
+ getEditingDomain().runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ if (isActive() && isEditable())
+ {
+ if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
+ {
+ Character initialChar = (Character)theRequest.getExtendedData().get(
+ RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ }
+ else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
+ {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals()
+ {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel()
+ {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null)
+ {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
+ : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color)
+ {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners()
+ {
+ if (getParser() instanceof ISemanticParser)
+ {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners()
+ {
+ if (parserElements != null)
+ {
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart()
+ {
+ if (accessibleEP == null)
+ {
+ accessibleEP = new AccessibleGraphicalEditPart()
+ {
+
+ public void getName(AccessibleEvent e)
+ {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView()
+ {
+ return getPrimaryView();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners()
+ {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners()
+ {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event)
+ {
+ Object feature = event.getFeature();
+ if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
+ {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
+ {
+ refreshUnderline();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
+ {
+ refreshStrikeThrough();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
+ {
+ refreshFont();
+ }
+ else
+ {
+ if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
+ {
+ refreshLabel();
+ }
+ if (getParser() instanceof ISemanticParser)
+ {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if (modelParser.areSemanticElementsAffected(null, event))
+ {
+ removeSemanticListeners();
+ if (resolveSemanticElement() != null)
+ {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure()
+ {
+ IFigure label = createFigurePrim();
+ defaultText = getLabelTextHelper(label);
+ return label;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigurePrim()
+ {
+ return new WrappingLabel();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperationEditPart.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperationEditPart.java
index ed434cb013..6fde23c2b2 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperationEditPart.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AOperationEditPart.java
@@ -1,684 +1,684 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AOperationItemSemanticEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RunnableWithResult;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.AccessibleEditPart;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DirectEditRequest;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.gef.tools.DirectEditManager;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
-import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AOperationEditPart extends CompartmentEditPart implements ITextAwareEditPart
-{
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 3002;
-
- /**
- * @generated
- */
- private DirectEditManager manager;
-
- /**
- * @generated
- */
- private IParser parser;
-
- /**
- * @generated
- */
- private List parserElements;
-
- /**
- * @generated
- */
- private String defaultText;
-
- /**
- * @generated
- */
- public AOperationEditPart(View view)
- {
- super(view);
- }
-
- /**
- * @generated
- */
- public DragTracker getDragTracker(Request request)
- {
- if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
- {
- return null;
- }
- return new DragEditPartsTrackerEx(this);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies()
- {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AOperationItemSemanticEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
- installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
- }
-
- /**
- * @generated
- */
- protected String getLabelTextHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getText();
- }
- else
- {
- return ((Label)figure).getText();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelTextHelper(IFigure figure, String text)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setText(text);
- }
- else
- {
- ((Label)figure).setText(text);
- }
- }
-
- /**
- * @generated
- */
- protected Image getLabelIconHelper(IFigure figure)
- {
- if (figure instanceof WrappingLabel)
- {
- return ((WrappingLabel)figure).getIcon();
- }
- else
- {
- return ((Label)figure).getIcon();
- }
- }
-
- /**
- * @generated
- */
- protected void setLabelIconHelper(IFigure figure, Image icon)
- {
- if (figure instanceof WrappingLabel)
- {
- ((WrappingLabel)figure).setIcon(icon);
- }
- else
- {
- ((Label)figure).setIcon(icon);
- }
- }
-
- /**
- * @generated
- */
- public void setLabel(IFigure figure)
- {
- unregisterVisuals();
- setFigure(figure);
- defaultText = getLabelTextHelper(figure);
- registerVisuals();
- refreshVisuals();
- }
-
- /**
- * @generated
- */
- protected List getModelChildren()
- {
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected EObject getParserElement()
- {
- return resolveSemanticElement();
- }
-
- /**
- * @generated
- */
- protected Image getLabelIcon()
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected String getLabelText()
- {
- String text = null;
- EObject parserElement = getParserElement();
- if (parserElement != null && getParser() != null)
- {
- text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
- }
- if (text == null || text.length() == 0)
- {
- text = defaultText;
- }
- return text;
- }
-
- /**
- * @generated
- */
- public void setLabelText(String text)
- {
- setLabelTextHelper(getFigure(), text);
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- public String getEditText()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return ""; //$NON-NLS-1$
- }
- return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
- }
-
- /**
- * @generated
- */
- protected boolean isEditable()
- {
- return getParser() != null;
- }
-
- /**
- * @generated
- */
- public ICellEditorValidator getEditTextValidator()
- {
- return new ICellEditorValidator()
- {
-
- public String isValid(final Object value)
- {
- if (value instanceof String)
- {
- final EObject element = getParserElement();
- final IParser parser = getParser();
- try
- {
- IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
- {
-
- public void run()
- {
- setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
- }
- });
- return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
- }
- catch (InterruptedException ie)
- {
- ie.printStackTrace();
- }
- }
-
- // shouldn't get here
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor()
- {
- if (getParserElement() == null || getParser() == null)
- {
- return null;
- }
- return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
- }
-
- /**
- * @generated
- */
- public ParserOptions getParserOptions()
- {
- return ParserOptions.NONE;
- }
-
- /**
- * @generated
- */
- public IParser getParser()
- {
- if (parser == null)
- {
- parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3002, getParserElement(),
- AcoreVisualIDRegistry
- .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart.VISUAL_ID));
- }
- return parser;
- }
-
- /**
- * @generated
- */
- protected DirectEditManager getManager()
- {
- if (manager == null)
- {
- setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
- AcoreEditPartFactory.getTextCellEditorLocator(this)));
- }
- return manager;
- }
-
- /**
- * @generated
- */
- protected void setManager(DirectEditManager manager)
- {
- this.manager = manager;
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit()
- {
- getManager().show();
- }
-
- /**
- * @generated
- */
- protected void performDirectEdit(Point eventLocation)
- {
- if (getManager().getClass() == TextDirectEditManager.class)
- {
- ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
- }
- }
-
- /**
- * @generated
- */
- private void performDirectEdit(char initialCharacter)
- {
- if (getManager() instanceof TextDirectEditManager)
- {
- ((TextDirectEditManager)getManager()).show(initialCharacter);
- }
- else
- {
- performDirectEdit();
- }
- }
-
- /**
- * @generated
- */
- protected void performDirectEditRequest(Request request)
- {
- final Request theRequest = request;
- try
- {
- getEditingDomain().runExclusive(new Runnable()
- {
-
- public void run()
- {
- if (isActive() && isEditable())
- {
- if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
- {
- Character initialChar = (Character)theRequest.getExtendedData().get(
- RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
- performDirectEdit(initialChar.charValue());
- }
- else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
- {
- DirectEditRequest editRequest = (DirectEditRequest)theRequest;
- performDirectEdit(editRequest.getLocation());
- }
- else
- {
- performDirectEdit();
- }
- }
- }
- });
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals()
- {
- super.refreshVisuals();
- refreshLabel();
- refreshFont();
- refreshFontColor();
- refreshUnderline();
- refreshStrikeThrough();
- }
-
- /**
- * @generated
- */
- protected void refreshLabel()
- {
- setLabelTextHelper(getFigure(), getLabelText());
- setLabelIconHelper(getFigure(), getLabelIcon());
- Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
- }
- Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
- if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
- {
- ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void refreshUnderline()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshStrikeThrough()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null && getFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFont()
- {
- FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
- if (style != null)
- {
- FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
- : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
- setFont(fontData);
- }
- }
-
- /**
- * @generated
- */
- protected void setFontColor(Color color)
- {
- getFigure().setForegroundColor(color);
- }
-
- /**
- * @generated
- */
- protected void addSemanticListeners()
- {
- if (getParser() instanceof ISemanticParser)
- {
- EObject element = resolveSemanticElement();
- parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
- for (int i = 0; i < parserElements.size(); i++)
- {
- addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
- }
- }
- else
- {
- super.addSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected void removeSemanticListeners()
- {
- if (parserElements != null)
- {
- for (int i = 0; i < parserElements.size(); i++)
- {
- removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
- }
- }
- else
- {
- super.removeSemanticListeners();
- }
- }
-
- /**
- * @generated
- */
- protected AccessibleEditPart getAccessibleEditPart()
- {
- if (accessibleEP == null)
- {
- accessibleEP = new AccessibleGraphicalEditPart()
- {
-
- public void getName(AccessibleEvent e)
- {
- e.result = getLabelTextHelper(getFigure());
- }
- };
- }
- return accessibleEP;
- }
-
- /**
- * @generated
- */
- private View getFontStyleOwnerView()
- {
- return getPrimaryView();
- }
-
- /**
- * @generated
- */
- protected void addNotationalListeners()
- {
- super.addNotationalListeners();
- addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void removeNotationalListeners()
- {
- super.removeNotationalListeners();
- removeListenerFilter("PrimaryView"); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification event)
- {
- Object feature = event.getFeature();
- if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
- {
- Integer c = (Integer)event.getNewValue();
- setFontColor(DiagramColorRegistry.getInstance().getColor(c));
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
- {
- refreshUnderline();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
- {
- refreshStrikeThrough();
- }
- else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
- || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
- {
- refreshFont();
- }
- else
- {
- if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
- {
- refreshLabel();
- }
- if (getParser() instanceof ISemanticParser)
- {
- ISemanticParser modelParser = (ISemanticParser)getParser();
- if (modelParser.areSemanticElementsAffected(null, event))
- {
- removeSemanticListeners();
- if (resolveSemanticElement() != null)
- {
- addSemanticListeners();
- }
- refreshLabel();
- }
- }
- }
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected IFigure createFigure()
- {
- IFigure label = createFigurePrim();
- defaultText = getLabelTextHelper(label);
- return label;
- }
-
- /**
- * @generated
- */
- protected IFigure createFigurePrim()
- {
- return new WrappingLabel();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AOperationItemSemanticEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextNonResizableEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies.AcoreTextSelectionEditPolicy;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RunnableWithResult;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.gef.AccessibleEditPart;
+import org.eclipse.gef.DragTracker;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gef.requests.SelectionRequest;
+import org.eclipse.gef.tools.DirectEditManager;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.LabelDirectEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramColorRegistry;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ISemanticParser;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.viewers.ICellEditorValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AOperationEditPart extends CompartmentEditPart implements ITextAwareEditPart
+{
+
+ /**
+ * @generated
+ */
+ public static final int VISUAL_ID = 3002;
+
+ /**
+ * @generated
+ */
+ private DirectEditManager manager;
+
+ /**
+ * @generated
+ */
+ private IParser parser;
+
+ /**
+ * @generated
+ */
+ private List parserElements;
+
+ /**
+ * @generated
+ */
+ private String defaultText;
+
+ /**
+ * @generated
+ */
+ public AOperationEditPart(View view)
+ {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ public DragTracker getDragTracker(Request request)
+ {
+ if (request instanceof SelectionRequest && ((SelectionRequest)request).getLastButtonPressed() == 3)
+ {
+ return null;
+ }
+ return new DragEditPartsTrackerEx(this);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies()
+ {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new AOperationItemSemanticEditPolicy());
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new AcoreTextNonResizableEditPolicy());
+ installEditPolicy(EditPolicy.COMPONENT_ROLE, new ListItemComponentEditPolicy());
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelTextHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getText();
+ }
+ else
+ {
+ return ((Label)figure).getText();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelTextHelper(IFigure figure, String text)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setText(text);
+ }
+ else
+ {
+ ((Label)figure).setText(text);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIconHelper(IFigure figure)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ return ((WrappingLabel)figure).getIcon();
+ }
+ else
+ {
+ return ((Label)figure).getIcon();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLabelIconHelper(IFigure figure, Image icon)
+ {
+ if (figure instanceof WrappingLabel)
+ {
+ ((WrappingLabel)figure).setIcon(icon);
+ }
+ else
+ {
+ ((Label)figure).setIcon(icon);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabel(IFigure figure)
+ {
+ unregisterVisuals();
+ setFigure(figure);
+ defaultText = getLabelTextHelper(figure);
+ registerVisuals();
+ refreshVisuals();
+ }
+
+ /**
+ * @generated
+ */
+ protected List getModelChildren()
+ {
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public IGraphicalEditPart getChildBySemanticHint(String semanticHint)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject getParserElement()
+ {
+ return resolveSemanticElement();
+ }
+
+ /**
+ * @generated
+ */
+ protected Image getLabelIcon()
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getLabelText()
+ {
+ String text = null;
+ EObject parserElement = getParserElement();
+ if (parserElement != null && getParser() != null)
+ {
+ text = getParser().getPrintString(new EObjectAdapter(parserElement), getParserOptions().intValue());
+ }
+ if (text == null || text.length() == 0)
+ {
+ text = defaultText;
+ }
+ return text;
+ }
+
+ /**
+ * @generated
+ */
+ public void setLabelText(String text)
+ {
+ setLabelTextHelper(getFigure(), text);
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditText()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return ""; //$NON-NLS-1$
+ }
+ return getParser().getEditString(new EObjectAdapter(getParserElement()), getParserOptions().intValue());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isEditable()
+ {
+ return getParser() != null;
+ }
+
+ /**
+ * @generated
+ */
+ public ICellEditorValidator getEditTextValidator()
+ {
+ return new ICellEditorValidator()
+ {
+
+ public String isValid(final Object value)
+ {
+ if (value instanceof String)
+ {
+ final EObject element = getParserElement();
+ final IParser parser = getParser();
+ try
+ {
+ IParserEditStatus valid = (IParserEditStatus)getEditingDomain().runExclusive(new RunnableWithResult.Impl()
+ {
+
+ public void run()
+ {
+ setResult(parser.isValidEditString(new EObjectAdapter(element), (String)value));
+ }
+ });
+ return valid.getCode() == ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ }
+ catch (InterruptedException ie)
+ {
+ ie.printStackTrace();
+ }
+ }
+
+ // shouldn't get here
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor()
+ {
+ if (getParserElement() == null || getParser() == null)
+ {
+ return null;
+ }
+ return getParser().getCompletionProcessor(new EObjectAdapter(getParserElement()));
+ }
+
+ /**
+ * @generated
+ */
+ public ParserOptions getParserOptions()
+ {
+ return ParserOptions.NONE;
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser()
+ {
+ if (parser == null)
+ {
+ parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3002, getParserElement(),
+ AcoreVisualIDRegistry
+ .getType(org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart.VISUAL_ID));
+ }
+ return parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected DirectEditManager getManager()
+ {
+ if (manager == null)
+ {
+ setManager(new TextDirectEditManager(this, TextDirectEditManager.getTextCellEditorClass(this),
+ AcoreEditPartFactory.getTextCellEditorLocator(this)));
+ }
+ return manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setManager(DirectEditManager manager)
+ {
+ this.manager = manager;
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit()
+ {
+ getManager().show();
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEdit(Point eventLocation)
+ {
+ if (getManager().getClass() == TextDirectEditManager.class)
+ {
+ ((TextDirectEditManager)getManager()).show(eventLocation.getSWTPoint());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void performDirectEdit(char initialCharacter)
+ {
+ if (getManager() instanceof TextDirectEditManager)
+ {
+ ((TextDirectEditManager)getManager()).show(initialCharacter);
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void performDirectEditRequest(Request request)
+ {
+ final Request theRequest = request;
+ try
+ {
+ getEditingDomain().runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ if (isActive() && isEditable())
+ {
+ if (theRequest.getExtendedData().get(RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR) instanceof Character)
+ {
+ Character initialChar = (Character)theRequest.getExtendedData().get(
+ RequestConstants.REQ_DIRECTEDIT_EXTENDEDDATA_INITIAL_CHAR);
+ performDirectEdit(initialChar.charValue());
+ }
+ else if ((theRequest instanceof DirectEditRequest) && (getEditText().equals(getLabelText())))
+ {
+ DirectEditRequest editRequest = (DirectEditRequest)theRequest;
+ performDirectEdit(editRequest.getLocation());
+ }
+ else
+ {
+ performDirectEdit();
+ }
+ }
+ }
+ });
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshVisuals()
+ {
+ super.refreshVisuals();
+ refreshLabel();
+ refreshFont();
+ refreshFontColor();
+ refreshUnderline();
+ refreshStrikeThrough();
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshLabel()
+ {
+ setLabelTextHelper(getFigure(), getLabelText());
+ setLabelIconHelper(getFigure(), getLabelIcon());
+ Object pdEditPolicy = getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (pdEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)pdEditPolicy).refreshFeedback();
+ }
+ Object sfEditPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
+ if (sfEditPolicy instanceof AcoreTextSelectionEditPolicy)
+ {
+ ((AcoreTextSelectionEditPolicy)sfEditPolicy).refreshFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshUnderline()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextUnderline(style.isUnderline());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshStrikeThrough()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null && getFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getFigure()).setTextStrikeThrough(style.isStrikeThrough());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFont()
+ {
+ FontStyle style = (FontStyle)getFontStyleOwnerView().getStyle(NotationPackage.eINSTANCE.getFontStyle());
+ if (style != null)
+ {
+ FontData fontData = new FontData(style.getFontName(), style.getFontHeight(), (style.isBold() ? SWT.BOLD
+ : SWT.NORMAL) | (style.isItalic() ? SWT.ITALIC : SWT.NORMAL));
+ setFont(fontData);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFontColor(Color color)
+ {
+ getFigure().setForegroundColor(color);
+ }
+
+ /**
+ * @generated
+ */
+ protected void addSemanticListeners()
+ {
+ if (getParser() instanceof ISemanticParser)
+ {
+ EObject element = resolveSemanticElement();
+ parserElements = ((ISemanticParser)getParser()).getSemanticElementsBeingParsed(element);
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ addListenerFilter("SemanticModel" + i, this, (EObject)parserElements.get(i)); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.addSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeSemanticListeners()
+ {
+ if (parserElements != null)
+ {
+ for (int i = 0; i < parserElements.size(); i++)
+ {
+ removeListenerFilter("SemanticModel" + i); //$NON-NLS-1$
+ }
+ }
+ else
+ {
+ super.removeSemanticListeners();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected AccessibleEditPart getAccessibleEditPart()
+ {
+ if (accessibleEP == null)
+ {
+ accessibleEP = new AccessibleGraphicalEditPart()
+ {
+
+ public void getName(AccessibleEvent e)
+ {
+ e.result = getLabelTextHelper(getFigure());
+ }
+ };
+ }
+ return accessibleEP;
+ }
+
+ /**
+ * @generated
+ */
+ private View getFontStyleOwnerView()
+ {
+ return getPrimaryView();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addNotationalListeners()
+ {
+ super.addNotationalListeners();
+ addListenerFilter("PrimaryView", this, getPrimaryView()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void removeNotationalListeners()
+ {
+ super.removeNotationalListeners();
+ removeListenerFilter("PrimaryView"); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleNotificationEvent(Notification event)
+ {
+ Object feature = event.getFeature();
+ if (NotationPackage.eINSTANCE.getFontStyle_FontColor().equals(feature))
+ {
+ Integer c = (Integer)event.getNewValue();
+ setFontColor(DiagramColorRegistry.getInstance().getColor(c));
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_Underline().equals(feature))
+ {
+ refreshUnderline();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_StrikeThrough().equals(feature))
+ {
+ refreshStrikeThrough();
+ }
+ else if (NotationPackage.eINSTANCE.getFontStyle_FontHeight().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_FontName().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Bold().equals(feature)
+ || NotationPackage.eINSTANCE.getFontStyle_Italic().equals(feature))
+ {
+ refreshFont();
+ }
+ else
+ {
+ if (getParser() != null && getParser().isAffectingEvent(event, getParserOptions().intValue()))
+ {
+ refreshLabel();
+ }
+ if (getParser() instanceof ISemanticParser)
+ {
+ ISemanticParser modelParser = (ISemanticParser)getParser();
+ if (modelParser.areSemanticElementsAffected(null, event))
+ {
+ removeSemanticListeners();
+ if (resolveSemanticElement() != null)
+ {
+ addSemanticListeners();
+ }
+ refreshLabel();
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigure()
+ {
+ IFigure label = createFigurePrim();
+ defaultText = getLabelTextHelper(label);
+ return label;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFigurePrim()
+ {
+ return new WrappingLabel();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AcoreEditPartFactory.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AcoreEditPartFactory.java
index ff0403cbf1..9f98f5e35c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AcoreEditPartFactory.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/parts/AcoreEditPartFactory.java
@@ -1,228 +1,228 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gef.tools.CellEditorLocator;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @generated
- */
-public class AcoreEditPartFactory implements EditPartFactory
-{
-
- /**
- * @generated
- */
- public EditPart createEditPart(EditPart context, Object model)
- {
- if (model instanceof View)
- {
- View view = (View)model;
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
-
- case ACoreRootEditPart.VISUAL_ID:
- return new ACoreRootEditPart(view);
-
- case AInterfaceEditPart.VISUAL_ID:
- return new AInterfaceEditPart(view);
-
- case AInterfaceNameEditPart.VISUAL_ID:
- return new AInterfaceNameEditPart(view);
-
- case AClassEditPart.VISUAL_ID:
- return new AClassEditPart(view);
-
- case AClassNameEditPart.VISUAL_ID:
- return new AClassNameEditPart(view);
-
- case AAttributeEditPart.VISUAL_ID:
- return new AAttributeEditPart(view);
-
- case AOperationEditPart.VISUAL_ID:
- return new AOperationEditPart(view);
-
- case AAttribute2EditPart.VISUAL_ID:
- return new AAttribute2EditPart(view);
-
- case AOperation2EditPart.VISUAL_ID:
- return new AOperation2EditPart(view);
-
- case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
- return new AInterfaceAAttributeInterfaceCompartmentEditPart(view);
-
- case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
- return new AInterfaceAOperationInterfaceCompartmentEditPart(view);
-
- case AClassAAttributeCompartmentEditPart.VISUAL_ID:
- return new AClassAAttributeCompartmentEditPart(view);
-
- case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
- return new AClassAOperationClassCompartmentEditPart(view);
-
- case AClassSubClassesEditPart.VISUAL_ID:
- return new AClassSubClassesEditPart(view);
-
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return new AClassImplementedInterfacesEditPart(view);
-
- case AClassAssociationsEditPart.VISUAL_ID:
- return new AClassAssociationsEditPart(view);
-
- case AClassAggregationsEditPart.VISUAL_ID:
- return new AClassAggregationsEditPart(view);
-
- case AClassCompositionsEditPart.VISUAL_ID:
- return new AClassCompositionsEditPart(view);
-
- }
- }
- return createUnrecognizedEditPart(context, model);
- }
-
- /**
- * @generated
- */
- private EditPart createUnrecognizedEditPart(EditPart context, Object model)
- {
- // Handle creation of unrecognized child node EditParts here
- return null;
- }
-
- /**
- * @generated
- */
- public static CellEditorLocator getTextCellEditorLocator(ITextAwareEditPart source)
- {
- if (source.getFigure() instanceof WrappingLabel)
- return new TextCellEditorLocator((WrappingLabel)source.getFigure());
- else
- {
- return new LabelCellEditorLocator((Label)source.getFigure());
- }
- }
-
- /**
- * @generated
- */
- static private class TextCellEditorLocator implements CellEditorLocator
- {
-
- /**
- * @generated
- */
- private WrappingLabel wrapLabel;
-
- /**
- * @generated
- */
- public TextCellEditorLocator(WrappingLabel wrapLabel)
- {
- this.wrapLabel = wrapLabel;
- }
-
- /**
- * @generated
- */
- public WrappingLabel getWrapLabel()
- {
- return wrapLabel;
- }
-
- /**
- * @generated
- */
- public void relocate(CellEditor celleditor)
- {
- Text text = (Text)celleditor.getControl();
- Rectangle rect = getWrapLabel().getTextBounds().getCopy();
- getWrapLabel().translateToAbsolute(rect);
- if (!text.getFont().isDisposed())
- {
- if (getWrapLabel().isTextWrapOn() && getWrapLabel().getText().length() > 0)
- {
- rect.setSize(new Dimension(text.computeSize(rect.width, SWT.DEFAULT)));
- }
- else
- {
- int avr = FigureUtilities.getFontMetrics(text.getFont()).getAverageCharWidth();
- rect.setSize(new Dimension(text.computeSize(SWT.DEFAULT, SWT.DEFAULT)).expand(avr * 2, 0));
- }
- }
- if (!rect.equals(new Rectangle(text.getBounds())))
- {
- text.setBounds(rect.x, rect.y, rect.width, rect.height);
- }
- }
- }
-
- /**
- * @generated
- */
- private static class LabelCellEditorLocator implements CellEditorLocator
- {
-
- /**
- * @generated
- */
- private Label label;
-
- /**
- * @generated
- */
- public LabelCellEditorLocator(Label label)
- {
- this.label = label;
- }
-
- /**
- * @generated
- */
- public Label getLabel()
- {
- return label;
- }
-
- /**
- * @generated
- */
- public void relocate(CellEditor celleditor)
- {
- Text text = (Text)celleditor.getControl();
- Rectangle rect = getLabel().getTextBounds().getCopy();
- getLabel().translateToAbsolute(rect);
- if (!text.getFont().isDisposed())
- {
- int avr = FigureUtilities.getFontMetrics(text.getFont()).getAverageCharWidth();
- rect.setSize(new Dimension(text.computeSize(SWT.DEFAULT, SWT.DEFAULT)).expand(avr * 2, 0));
- }
- if (!rect.equals(new Rectangle(text.getBounds())))
- {
- text.setBounds(rect.x, rect.y, rect.width, rect.height);
- }
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.draw2d.FigureUtilities;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.tools.CellEditorLocator;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.ITextAwareEditPart;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * @generated
+ */
+public class AcoreEditPartFactory implements EditPartFactory
+{
+
+ /**
+ * @generated
+ */
+ public EditPart createEditPart(EditPart context, Object model)
+ {
+ if (model instanceof View)
+ {
+ View view = (View)model;
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+
+ case ACoreRootEditPart.VISUAL_ID:
+ return new ACoreRootEditPart(view);
+
+ case AInterfaceEditPart.VISUAL_ID:
+ return new AInterfaceEditPart(view);
+
+ case AInterfaceNameEditPart.VISUAL_ID:
+ return new AInterfaceNameEditPart(view);
+
+ case AClassEditPart.VISUAL_ID:
+ return new AClassEditPart(view);
+
+ case AClassNameEditPart.VISUAL_ID:
+ return new AClassNameEditPart(view);
+
+ case AAttributeEditPart.VISUAL_ID:
+ return new AAttributeEditPart(view);
+
+ case AOperationEditPart.VISUAL_ID:
+ return new AOperationEditPart(view);
+
+ case AAttribute2EditPart.VISUAL_ID:
+ return new AAttribute2EditPart(view);
+
+ case AOperation2EditPart.VISUAL_ID:
+ return new AOperation2EditPart(view);
+
+ case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
+ return new AInterfaceAAttributeInterfaceCompartmentEditPart(view);
+
+ case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
+ return new AInterfaceAOperationInterfaceCompartmentEditPart(view);
+
+ case AClassAAttributeCompartmentEditPart.VISUAL_ID:
+ return new AClassAAttributeCompartmentEditPart(view);
+
+ case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
+ return new AClassAOperationClassCompartmentEditPart(view);
+
+ case AClassSubClassesEditPart.VISUAL_ID:
+ return new AClassSubClassesEditPart(view);
+
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return new AClassImplementedInterfacesEditPart(view);
+
+ case AClassAssociationsEditPart.VISUAL_ID:
+ return new AClassAssociationsEditPart(view);
+
+ case AClassAggregationsEditPart.VISUAL_ID:
+ return new AClassAggregationsEditPart(view);
+
+ case AClassCompositionsEditPart.VISUAL_ID:
+ return new AClassCompositionsEditPart(view);
+
+ }
+ }
+ return createUnrecognizedEditPart(context, model);
+ }
+
+ /**
+ * @generated
+ */
+ private EditPart createUnrecognizedEditPart(EditPart context, Object model)
+ {
+ // Handle creation of unrecognized child node EditParts here
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public static CellEditorLocator getTextCellEditorLocator(ITextAwareEditPart source)
+ {
+ if (source.getFigure() instanceof WrappingLabel)
+ return new TextCellEditorLocator((WrappingLabel)source.getFigure());
+ else
+ {
+ return new LabelCellEditorLocator((Label)source.getFigure());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ static private class TextCellEditorLocator implements CellEditorLocator
+ {
+
+ /**
+ * @generated
+ */
+ private WrappingLabel wrapLabel;
+
+ /**
+ * @generated
+ */
+ public TextCellEditorLocator(WrappingLabel wrapLabel)
+ {
+ this.wrapLabel = wrapLabel;
+ }
+
+ /**
+ * @generated
+ */
+ public WrappingLabel getWrapLabel()
+ {
+ return wrapLabel;
+ }
+
+ /**
+ * @generated
+ */
+ public void relocate(CellEditor celleditor)
+ {
+ Text text = (Text)celleditor.getControl();
+ Rectangle rect = getWrapLabel().getTextBounds().getCopy();
+ getWrapLabel().translateToAbsolute(rect);
+ if (!text.getFont().isDisposed())
+ {
+ if (getWrapLabel().isTextWrapOn() && getWrapLabel().getText().length() > 0)
+ {
+ rect.setSize(new Dimension(text.computeSize(rect.width, SWT.DEFAULT)));
+ }
+ else
+ {
+ int avr = FigureUtilities.getFontMetrics(text.getFont()).getAverageCharWidth();
+ rect.setSize(new Dimension(text.computeSize(SWT.DEFAULT, SWT.DEFAULT)).expand(avr * 2, 0));
+ }
+ }
+ if (!rect.equals(new Rectangle(text.getBounds())))
+ {
+ text.setBounds(rect.x, rect.y, rect.width, rect.height);
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private static class LabelCellEditorLocator implements CellEditorLocator
+ {
+
+ /**
+ * @generated
+ */
+ private Label label;
+
+ /**
+ * @generated
+ */
+ public LabelCellEditorLocator(Label label)
+ {
+ this.label = label;
+ }
+
+ /**
+ * @generated
+ */
+ public Label getLabel()
+ {
+ return label;
+ }
+
+ /**
+ * @generated
+ */
+ public void relocate(CellEditor celleditor)
+ {
+ Text text = (Text)celleditor.getControl();
+ Rectangle rect = getLabel().getTextBounds().getCopy();
+ getLabel().translateToAbsolute(rect);
+ if (!text.getFont().isDisposed())
+ {
+ int avr = FigureUtilities.getFontMetrics(text.getFont()).getAverageCharWidth();
+ rect.setSize(new Dimension(text.computeSize(SWT.DEFAULT, SWT.DEFAULT)).expand(avr * 2, 0));
+ }
+ if (!rect.equals(new Rectangle(text.getBounds())))
+ {
+ text.setBounds(rect.x, rect.y, rect.width, rect.height);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttribute2ItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttribute2ItemSemanticEditPolicy.java
index 05dfb9a6c5..5ee1dfd3ad 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttribute2ItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttribute2ItemSemanticEditPolicy.java
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AAttribute2ItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AAttribute2ItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AAttribute_3003);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- View view = (View)getHost().getModel();
- CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
- cmd.setTransactionNestingEnabled(false);
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation == null)
- {
- // there are indirectly referenced children, need extra commands: false
- addDestroyShortcutsCommand(cmd, view);
- // delete host element
- cmd.add(new DestroyElementCommand(req));
- }
- else
- {
- cmd.add(new DeleteCommand(getEditingDomain(), view));
- }
- return getGEFWrapper(cmd.reduce());
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AAttribute2ItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AAttribute2ItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AAttribute_3003);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(false);
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation == null)
+ {
+ // there are indirectly referenced children, need extra commands: false
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ cmd.add(new DestroyElementCommand(req));
+ }
+ else
+ {
+ cmd.add(new DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttributeItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttributeItemSemanticEditPolicy.java
index 394079ed55..1e880640cf 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttributeItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AAttributeItemSemanticEditPolicy.java
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AAttributeItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AAttributeItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AAttribute_3001);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- View view = (View)getHost().getModel();
- CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
- cmd.setTransactionNestingEnabled(false);
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation == null)
- {
- // there are indirectly referenced children, need extra commands: false
- addDestroyShortcutsCommand(cmd, view);
- // delete host element
- cmd.add(new DestroyElementCommand(req));
- }
- else
- {
- cmd.add(new DeleteCommand(getEditingDomain(), view));
- }
- return getGEFWrapper(cmd.reduce());
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AAttributeItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AAttributeItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AAttribute_3001);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(false);
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation == null)
+ {
+ // there are indirectly referenced children, need extra commands: false
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ cmd.add(new DestroyElementCommand(req));
+ }
+ else
+ {
+ cmd.add(new DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentCanonicalEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentCanonicalEditPolicy.java
index 506a57b064..e3f4e1299a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentCanonicalEditPolicy.java
@@ -1,79 +1,79 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AClassAAttributeCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
-{
-
- /**
- * @generated
- */
- protected List getSemanticChildrenList()
- {
- View viewObject = (View)getHost().getModel();
- LinkedList<EObject> result = new LinkedList<EObject>();
- List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
- .getAClassAAttributeCompartment_7003SemanticChildren(viewObject);
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor d = it.next();
- result.add(d.getModelElement());
- }
- return result;
- }
-
- /**
- * @generated
- */
- protected boolean isOrphaned(Collection semanticChildren, final View view)
- {
- int visualID = AcoreVisualIDRegistry.getVisualID(view);
- switch (visualID)
- {
- case AAttribute2EditPart.VISUAL_ID:
- if (!semanticChildren.contains(view.getElement()))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected EStructuralFeature getFeatureToSynchronize()
- {
- return AcorePackage.eINSTANCE.getABasicClass_Attributes();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AClassAAttributeCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ protected List getSemanticChildrenList()
+ {
+ View viewObject = (View)getHost().getModel();
+ LinkedList<EObject> result = new LinkedList<EObject>();
+ List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
+ .getAClassAAttributeCompartment_7003SemanticChildren(viewObject);
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor d = it.next();
+ result.add(d.getModelElement());
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isOrphaned(Collection semanticChildren, final View view)
+ {
+ int visualID = AcoreVisualIDRegistry.getVisualID(view);
+ switch (visualID)
+ {
+ case AAttribute2EditPart.VISUAL_ID:
+ if (!semanticChildren.contains(view.getElement()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected EStructuralFeature getFeatureToSynchronize()
+ {
+ return AcorePackage.eINSTANCE.getABasicClass_Attributes();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentItemSemanticEditPolicy.java
index 358eeda749..75dd36788f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAAttributeCompartmentItemSemanticEditPolicy.java
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AAttribute2CreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-
-/**
- * @generated
- */
-public class AClassAAttributeCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassAAttributeCompartmentItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClass_2002);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req)
- {
- if (AcoreElementTypes.AAttribute_3003 == req.getElementType())
- {
- return getGEFWrapper(new AAttribute2CreateCommand(req));
- }
- return super.getCreateCommand(req);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AAttribute2CreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+/**
+ * @generated
+ */
+public class AClassAAttributeCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassAAttributeCompartmentItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClass_2002);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req)
+ {
+ if (AcoreElementTypes.AAttribute_3003 == req.getElementType())
+ {
+ return getGEFWrapper(new AAttribute2CreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentCanonicalEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentCanonicalEditPolicy.java
index 0d2a0be56b..77f63c1493 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentCanonicalEditPolicy.java
@@ -1,79 +1,79 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AClassAOperationClassCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
-{
-
- /**
- * @generated
- */
- protected List getSemanticChildrenList()
- {
- View viewObject = (View)getHost().getModel();
- LinkedList<EObject> result = new LinkedList<EObject>();
- List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
- .getAClassAOperationClassCompartment_7004SemanticChildren(viewObject);
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor d = it.next();
- result.add(d.getModelElement());
- }
- return result;
- }
-
- /**
- * @generated
- */
- protected boolean isOrphaned(Collection semanticChildren, final View view)
- {
- int visualID = AcoreVisualIDRegistry.getVisualID(view);
- switch (visualID)
- {
- case AOperation2EditPart.VISUAL_ID:
- if (!semanticChildren.contains(view.getElement()))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected EStructuralFeature getFeatureToSynchronize()
- {
- return AcorePackage.eINSTANCE.getABasicClass_Operations();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AClassAOperationClassCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ protected List getSemanticChildrenList()
+ {
+ View viewObject = (View)getHost().getModel();
+ LinkedList<EObject> result = new LinkedList<EObject>();
+ List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
+ .getAClassAOperationClassCompartment_7004SemanticChildren(viewObject);
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor d = it.next();
+ result.add(d.getModelElement());
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isOrphaned(Collection semanticChildren, final View view)
+ {
+ int visualID = AcoreVisualIDRegistry.getVisualID(view);
+ switch (visualID)
+ {
+ case AOperation2EditPart.VISUAL_ID:
+ if (!semanticChildren.contains(view.getElement()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected EStructuralFeature getFeatureToSynchronize()
+ {
+ return AcorePackage.eINSTANCE.getABasicClass_Operations();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentItemSemanticEditPolicy.java
index 4abf7e7be3..cf859bc678 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAOperationClassCompartmentItemSemanticEditPolicy.java
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AOperation2CreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-
-/**
- * @generated
- */
-public class AClassAOperationClassCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassAOperationClassCompartmentItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClass_2002);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req)
- {
- if (AcoreElementTypes.AOperation_3004 == req.getElementType())
- {
- return getGEFWrapper(new AOperation2CreateCommand(req));
- }
- return super.getCreateCommand(req);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AOperation2CreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+/**
+ * @generated
+ */
+public class AClassAOperationClassCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassAOperationClassCompartmentItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClass_2002);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req)
+ {
+ if (AcoreElementTypes.AOperation_3004 == req.getElementType())
+ {
+ return getGEFWrapper(new AOperation2CreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAggregationsItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAggregationsItemSemanticEditPolicy.java
index f4f9b89056..90fe4b672a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAggregationsItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAggregationsItemSemanticEditPolicy.java
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-
-/**
- * @generated
- */
-public class AClassAggregationsItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassAggregationsItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClassAggregations_4004);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return getGEFWrapper(new DestroyReferenceCommand(req));
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+
+/**
+ * @generated
+ */
+public class AClassAggregationsItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassAggregationsItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClassAggregations_4004);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return getGEFWrapper(new DestroyReferenceCommand(req));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAssociationsItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAssociationsItemSemanticEditPolicy.java
index c8ca328701..3802268b9e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAssociationsItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassAssociationsItemSemanticEditPolicy.java
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-
-/**
- * @generated
- */
-public class AClassAssociationsItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassAssociationsItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClassAssociations_4003);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return getGEFWrapper(new DestroyReferenceCommand(req));
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+
+/**
+ * @generated
+ */
+public class AClassAssociationsItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassAssociationsItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClassAssociations_4003);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return getGEFWrapper(new DestroyReferenceCommand(req));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassCompositionsItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassCompositionsItemSemanticEditPolicy.java
index bbfe0ca1df..5c0a7a7bbd 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassCompositionsItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassCompositionsItemSemanticEditPolicy.java
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-
-/**
- * @generated
- */
-public class AClassCompositionsItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassCompositionsItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClassCompositions_4005);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return getGEFWrapper(new DestroyReferenceCommand(req));
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+
+/**
+ * @generated
+ */
+public class AClassCompositionsItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassCompositionsItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClassCompositions_4005);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return getGEFWrapper(new DestroyReferenceCommand(req));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassImplementedInterfacesItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassImplementedInterfacesItemSemanticEditPolicy.java
index 1ca82aab11..e07d6d276e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassImplementedInterfacesItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassImplementedInterfacesItemSemanticEditPolicy.java
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-
-/**
- * @generated
- */
-public class AClassImplementedInterfacesItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassImplementedInterfacesItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClassImplementedInterfaces_4002);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return getGEFWrapper(new DestroyReferenceCommand(req));
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+
+/**
+ * @generated
+ */
+public class AClassImplementedInterfacesItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassImplementedInterfacesItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClassImplementedInterfaces_4002);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return getGEFWrapper(new DestroyReferenceCommand(req));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassItemSemanticEditPolicy.java
index cb392bd6d8..81542bd932 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassItemSemanticEditPolicy.java
@@ -1,307 +1,307 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAggregationsCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAggregationsReorientCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAssociationsCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAssociationsReorientCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassCompositionsCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassCompositionsReorientCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesReorientCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassSubClassesCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassSubClassesReorientCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AClassItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClass_2002);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- View view = (View)getHost().getModel();
- CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
- cmd.setTransactionNestingEnabled(false);
- for (Iterator it = view.getTargetEdges().iterator(); it.hasNext();)
- {
- Edge incomingLink = (Edge)it.next();
- if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassSubClassesEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
- incomingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassAssociationsEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
- incomingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassAggregationsEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
- incomingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassCompositionsEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
- incomingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
- continue;
- }
- }
- for (Iterator it = view.getSourceEdges().iterator(); it.hasNext();)
- {
- Edge outgoingLink = (Edge)it.next();
- if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassSubClassesEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
- outgoingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassImplementedInterfacesEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
- outgoingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassAssociationsEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
- outgoingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassAggregationsEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
- outgoingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
- continue;
- }
- if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassCompositionsEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
- outgoingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
- continue;
- }
- }
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation == null)
- {
- // there are indirectly referenced children, need extra commands: false
- addDestroyChildNodesCommand(cmd);
- addDestroyShortcutsCommand(cmd, view);
- // delete host element
- cmd.add(new DestroyElementCommand(req));
- }
- else
- {
- cmd.add(new DeleteCommand(getEditingDomain(), view));
- }
- return getGEFWrapper(cmd.reduce());
- }
-
- /**
- * @generated
- */
- private void addDestroyChildNodesCommand(ICompositeCommand cmd)
- {
- View view = (View)getHost().getModel();
- for (Iterator nit = view.getChildren().iterator(); nit.hasNext();)
- {
- Node node = (Node)nit.next();
- switch (AcoreVisualIDRegistry.getVisualID(node))
- {
- case AClassAAttributeCompartmentEditPart.VISUAL_ID:
- for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
- {
- Node cnode = (Node)cit.next();
- switch (AcoreVisualIDRegistry.getVisualID(cnode))
- {
- case AAttribute2EditPart.VISUAL_ID:
- cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
- // true
- // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
- // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
- break;
- }
- }
- break;
- case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
- for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
- {
- Node cnode = (Node)cit.next();
- switch (AcoreVisualIDRegistry.getVisualID(cnode))
- {
- case AOperation2EditPart.VISUAL_ID:
- cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
- // true
- // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
- // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
- break;
- }
- }
- break;
- }
- }
- }
-
- /**
- * @generated
- */
- protected Command getCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- Command command = req.getTarget() == null ? getStartCreateRelationshipCommand(req)
- : getCompleteCreateRelationshipCommand(req);
- return command != null ? command : super.getCreateRelationshipCommand(req);
- }
-
- /**
- * @generated
- */
- protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- if (AcoreElementTypes.AClassSubClasses_4001 == req.getElementType())
- {
- return getGEFWrapper(new AClassSubClassesCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
- {
- return getGEFWrapper(new AClassImplementedInterfacesCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassAssociations_4003 == req.getElementType())
- {
- return getGEFWrapper(new AClassAssociationsCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassAggregations_4004 == req.getElementType())
- {
- return getGEFWrapper(new AClassAggregationsCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassCompositions_4005 == req.getElementType())
- {
- return getGEFWrapper(new AClassCompositionsCreateCommand(req, req.getSource(), req.getTarget()));
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- if (AcoreElementTypes.AClassSubClasses_4001 == req.getElementType())
- {
- return getGEFWrapper(new AClassSubClassesCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
- {
- return null;
- }
- if (AcoreElementTypes.AClassAssociations_4003 == req.getElementType())
- {
- return getGEFWrapper(new AClassAssociationsCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassAggregations_4004 == req.getElementType())
- {
- return getGEFWrapper(new AClassAggregationsCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if (AcoreElementTypes.AClassCompositions_4005 == req.getElementType())
- {
- return getGEFWrapper(new AClassCompositionsCreateCommand(req, req.getSource(), req.getTarget()));
- }
- return null;
- }
-
- /**
- * Returns command to reorient EReference based link. New link target or source should be the domain model element
- * associated with this node.
- *
- * @generated
- */
- protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req)
- {
- switch (getVisualID(req))
- {
- case AClassSubClassesEditPart.VISUAL_ID:
- return getGEFWrapper(new AClassSubClassesReorientCommand(req));
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return getGEFWrapper(new AClassImplementedInterfacesReorientCommand(req));
- case AClassAssociationsEditPart.VISUAL_ID:
- return getGEFWrapper(new AClassAssociationsReorientCommand(req));
- case AClassAggregationsEditPart.VISUAL_ID:
- return getGEFWrapper(new AClassAggregationsReorientCommand(req));
- case AClassCompositionsEditPart.VISUAL_ID:
- return getGEFWrapper(new AClassCompositionsReorientCommand(req));
- }
- return super.getReorientReferenceRelationshipCommand(req);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAggregationsCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAggregationsReorientCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAssociationsCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassAssociationsReorientCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassCompositionsCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassCompositionsReorientCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesReorientCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassSubClassesCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassSubClassesReorientCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AClassItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClass_2002);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(false);
+ for (Iterator it = view.getTargetEdges().iterator(); it.hasNext();)
+ {
+ Edge incomingLink = (Edge)it.next();
+ if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassSubClassesEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
+ incomingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassAssociationsEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
+ incomingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassAggregationsEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
+ incomingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassCompositionsEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
+ incomingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
+ continue;
+ }
+ }
+ for (Iterator it = view.getSourceEdges().iterator(); it.hasNext();)
+ {
+ Edge outgoingLink = (Edge)it.next();
+ if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassSubClassesEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
+ outgoingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassImplementedInterfacesEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
+ outgoingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassAssociationsEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
+ outgoingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassAggregationsEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
+ outgoingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
+ continue;
+ }
+ if (AcoreVisualIDRegistry.getVisualID(outgoingLink) == AClassCompositionsEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(outgoingLink.getSource().getElement(), null,
+ outgoingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), outgoingLink));
+ continue;
+ }
+ }
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation == null)
+ {
+ // there are indirectly referenced children, need extra commands: false
+ addDestroyChildNodesCommand(cmd);
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ cmd.add(new DestroyElementCommand(req));
+ }
+ else
+ {
+ cmd.add(new DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+ /**
+ * @generated
+ */
+ private void addDestroyChildNodesCommand(ICompositeCommand cmd)
+ {
+ View view = (View)getHost().getModel();
+ for (Iterator nit = view.getChildren().iterator(); nit.hasNext();)
+ {
+ Node node = (Node)nit.next();
+ switch (AcoreVisualIDRegistry.getVisualID(node))
+ {
+ case AClassAAttributeCompartmentEditPart.VISUAL_ID:
+ for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
+ {
+ Node cnode = (Node)cit.next();
+ switch (AcoreVisualIDRegistry.getVisualID(cnode))
+ {
+ case AAttribute2EditPart.VISUAL_ID:
+ cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
+ // true
+ // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
+ // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
+ break;
+ }
+ }
+ break;
+ case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
+ for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
+ {
+ Node cnode = (Node)cit.next();
+ switch (AcoreVisualIDRegistry.getVisualID(cnode))
+ {
+ case AOperation2EditPart.VISUAL_ID:
+ cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
+ // true
+ // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
+ // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ Command command = req.getTarget() == null ? getStartCreateRelationshipCommand(req)
+ : getCompleteCreateRelationshipCommand(req);
+ return command != null ? command : super.getCreateRelationshipCommand(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ if (AcoreElementTypes.AClassSubClasses_4001 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassSubClassesCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassImplementedInterfacesCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassAssociations_4003 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassAssociationsCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassAggregations_4004 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassAggregationsCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassCompositions_4005 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassCompositionsCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ if (AcoreElementTypes.AClassSubClasses_4001 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassSubClassesCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
+ {
+ return null;
+ }
+ if (AcoreElementTypes.AClassAssociations_4003 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassAssociationsCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassAggregations_4004 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassAggregationsCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ if (AcoreElementTypes.AClassCompositions_4005 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassCompositionsCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * Returns command to reorient EReference based link. New link target or source should be the domain model element
+ * associated with this node.
+ *
+ * @generated
+ */
+ protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req)
+ {
+ switch (getVisualID(req))
+ {
+ case AClassSubClassesEditPart.VISUAL_ID:
+ return getGEFWrapper(new AClassSubClassesReorientCommand(req));
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return getGEFWrapper(new AClassImplementedInterfacesReorientCommand(req));
+ case AClassAssociationsEditPart.VISUAL_ID:
+ return getGEFWrapper(new AClassAssociationsReorientCommand(req));
+ case AClassAggregationsEditPart.VISUAL_ID:
+ return getGEFWrapper(new AClassAggregationsReorientCommand(req));
+ case AClassCompositionsEditPart.VISUAL_ID:
+ return getGEFWrapper(new AClassCompositionsReorientCommand(req));
+ }
+ return super.getReorientReferenceRelationshipCommand(req);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassSubClassesItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassSubClassesItemSemanticEditPolicy.java
index 1ef39efed6..87d77cf9af 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassSubClassesItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AClassSubClassesItemSemanticEditPolicy.java
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-
-/**
- * @generated
- */
-public class AClassSubClassesItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AClassSubClassesItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AClassSubClasses_4001);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return getGEFWrapper(new DestroyReferenceCommand(req));
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+
+/**
+ * @generated
+ */
+public class AClassSubClassesItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AClassSubClassesItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AClassSubClasses_4001);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return getGEFWrapper(new DestroyReferenceCommand(req));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootCanonicalEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootCanonicalEditPolicy.java
index 1fe78c9bce..d568acceee 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootCanonicalEditPolicy.java
@@ -1,348 +1,348 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreLinkDescriptor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.diagram.ui.commands.DeferredLayoutCommand;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.commands.SetViewMutabilityCommand;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @generated
- */
-public class ACoreRootCanonicalEditPolicy extends CanonicalEditPolicy
-{
-
- /**
- * @generated
- */
- Set<EStructuralFeature> myFeaturesToSynchronize;
-
- /**
- * @generated
- */
- protected List getSemanticChildrenList()
- {
- View viewObject = (View)getHost().getModel();
- LinkedList<EObject> result = new LinkedList<EObject>();
- List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater.getACoreRoot_1000SemanticChildren(viewObject);
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor d = it.next();
- result.add(d.getModelElement());
- }
- return result;
- }
-
- /**
- * @generated
- */
- protected boolean shouldDeleteView(View view)
- {
- return true;
- }
-
- /**
- * @generated
- */
- protected boolean isOrphaned(Collection semanticChildren, final View view)
- {
- int visualID = AcoreVisualIDRegistry.getVisualID(view);
- switch (visualID)
- {
- case AInterfaceEditPart.VISUAL_ID:
- case AClassEditPart.VISUAL_ID:
- if (!semanticChildren.contains(view.getElement()))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected Set getFeaturesToSynchronize()
- {
- if (myFeaturesToSynchronize == null)
- {
- myFeaturesToSynchronize = new HashSet<EStructuralFeature>();
- myFeaturesToSynchronize.add(AcorePackage.eINSTANCE.getACoreRoot_Interfaces());
- myFeaturesToSynchronize.add(AcorePackage.eINSTANCE.getACoreRoot_Classes());
- }
- return myFeaturesToSynchronize;
- }
-
- /**
- * @generated
- */
- protected void refreshSemantic()
- {
- if (resolveSemanticElement() == null)
- {
- return;
- }
- LinkedList<IAdaptable> createdViews = new LinkedList<IAdaptable>();
- // refreshSemanticChildren() alternative
- List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater.getACoreRoot_1000SemanticChildren((View)getHost()
- .getModel());
- ArrayList<EObject> semanticChildren = new ArrayList<EObject>(childDescriptors.size());
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor next = it.next();
- semanticChildren.add(next.getModelElement());
- }
- List<View> orphaned = cleanCanonicalSemanticChildren(getViewChildren(), semanticChildren);
- boolean changed = deleteViews(orphaned.iterator());
- // leave descriptors that reference survived semanticChildren.
- // NOTE, we may want to stop using cleanCanonicalSemanticChildren() here, replacing with own code, that respects
- // NodeDescriptors
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor next = it.next();
- if (!semanticChildren.contains(next.getModelElement()))
- {
- it.remove();
- }
- }
- ArrayList<CreateViewRequest.ViewDescriptor> viewDescriptors = new ArrayList<CreateViewRequest.ViewDescriptor>(
- childDescriptors.size());
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor next = it.next();
- String hint = AcoreVisualIDRegistry.getType(next.getVisualID());
- IAdaptable elementAdapter = new CanonicalElementAdapter(next.getModelElement(), hint);
- viewDescriptors.add(new CreateViewRequest.ViewDescriptor(elementAdapter, Node.class, hint, ViewUtil.APPEND,
- false, host().getDiagramPreferencesHint()));
- }
- //
- CreateViewRequest request = getCreateViewRequest(viewDescriptors);
- Command cmd = getCreateViewCommand(request);
- if (cmd != null && cmd.canExecute())
- {
- SetViewMutabilityCommand.makeMutable(new EObjectAdapter(host().getNotationView())).execute();
- executeCommand(cmd);
- createdViews.addAll((List<IAdaptable>)request.getNewObject());
- }
- if (changed || createdViews.size() > 0)
- {
- postProcessRefreshSemantic(createdViews);
- }
- Collection<IAdaptable> createdConnectionViews = refreshConnections();
-
- if (createdViews.size() > 1)
- {
- // perform a layout of the container
- DeferredLayoutCommand layoutCmd = new DeferredLayoutCommand(host().getEditingDomain(), createdViews, host());
- executeCommand(new ICommandProxy(layoutCmd));
- }
-
- createdViews.addAll(createdConnectionViews);
- makeViewsImmutable(createdViews);
- }
-
- /**
- * @generated
- */
- private Diagram getDiagram()
- {
- return ((View)getHost().getModel()).getDiagram();
- }
-
- /**
- * @generated
- */
- private Collection<IAdaptable> refreshConnections()
- {
- Map<EObject, View> domain2NotationMap = new HashMap<EObject, View>();
- Collection<AcoreLinkDescriptor> linkDescriptors = collectAllLinks(getDiagram(), domain2NotationMap);
- Collection existingLinks = new LinkedList(getDiagram().getEdges());
- for (Iterator linksIterator = existingLinks.iterator(); linksIterator.hasNext();)
- {
- Edge nextDiagramLink = (Edge)linksIterator.next();
- int diagramLinkVisualID = AcoreVisualIDRegistry.getVisualID(nextDiagramLink);
- if (diagramLinkVisualID == -1)
- {
- if (nextDiagramLink.getSource() != null && nextDiagramLink.getTarget() != null)
- {
- linksIterator.remove();
- }
- continue;
- }
- EObject diagramLinkObject = nextDiagramLink.getElement();
- EObject diagramLinkSrc = nextDiagramLink.getSource().getElement();
- EObject diagramLinkDst = nextDiagramLink.getTarget().getElement();
- for (Iterator<AcoreLinkDescriptor> linkDescriptorsIterator = linkDescriptors.iterator(); linkDescriptorsIterator
- .hasNext();)
- {
- AcoreLinkDescriptor nextLinkDescriptor = linkDescriptorsIterator.next();
- if (diagramLinkObject == nextLinkDescriptor.getModelElement()
- && diagramLinkSrc == nextLinkDescriptor.getSource()
- && diagramLinkDst == nextLinkDescriptor.getDestination()
- && diagramLinkVisualID == nextLinkDescriptor.getVisualID())
- {
- linksIterator.remove();
- linkDescriptorsIterator.remove();
- break;
- }
- }
- }
- deleteViews(existingLinks.iterator());
- return createConnections(linkDescriptors, domain2NotationMap);
- }
-
- /**
- * @generated
- */
- private Collection<AcoreLinkDescriptor> collectAllLinks(View view, Map<EObject, View> domain2NotationMap)
- {
- if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view)))
- {
- return Collections.emptyList();
- }
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case ACoreRootEditPart.VISUAL_ID:
- {
- if (!domain2NotationMap.containsKey(view.getElement()))
- {
- result.addAll(AcoreDiagramUpdater.getACoreRoot_1000ContainedLinks(view));
- }
- if (!domain2NotationMap.containsKey(view.getElement()) || view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
- domain2NotationMap.put(view.getElement(), view);
- }
- break;
- }
- case AInterfaceEditPart.VISUAL_ID:
- {
- if (!domain2NotationMap.containsKey(view.getElement()))
- {
- result.addAll(AcoreDiagramUpdater.getAInterface_2001ContainedLinks(view));
- }
- if (!domain2NotationMap.containsKey(view.getElement()) || view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
- domain2NotationMap.put(view.getElement(), view);
- }
- break;
- }
- case AClassEditPart.VISUAL_ID:
- {
- if (!domain2NotationMap.containsKey(view.getElement()))
- {
- result.addAll(AcoreDiagramUpdater.getAClass_2002ContainedLinks(view));
- }
- if (!domain2NotationMap.containsKey(view.getElement()) || view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
- domain2NotationMap.put(view.getElement(), view);
- }
- break;
- }
- }
- for (Iterator children = view.getChildren().iterator(); children.hasNext();)
- {
- result.addAll(collectAllLinks((View)children.next(), domain2NotationMap));
- }
- for (Iterator edges = view.getSourceEdges().iterator(); edges.hasNext();)
- {
- result.addAll(collectAllLinks((View)edges.next(), domain2NotationMap));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private Collection<IAdaptable> createConnections(Collection<AcoreLinkDescriptor> linkDescriptors,
- Map<EObject, View> domain2NotationMap)
- {
- LinkedList<IAdaptable> adapters = new LinkedList<IAdaptable>();
- for (Iterator<AcoreLinkDescriptor> it = linkDescriptors.iterator(); it.hasNext();)
- {
- AcoreLinkDescriptor nextLinkDescriptor = it.next();
- EditPart sourceEditPart = getEditPart(nextLinkDescriptor.getSource(), domain2NotationMap);
- EditPart targetEditPart = getEditPart(nextLinkDescriptor.getDestination(), domain2NotationMap);
- if (sourceEditPart == null || targetEditPart == null)
- {
- continue;
- }
- CreateConnectionViewRequest.ConnectionViewDescriptor descriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(
- nextLinkDescriptor.getSemanticAdapter(), String.valueOf(nextLinkDescriptor.getVisualID()), ViewUtil.APPEND,
- false, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint());
- CreateConnectionViewRequest ccr = new CreateConnectionViewRequest(descriptor);
- ccr.setType(RequestConstants.REQ_CONNECTION_START);
- ccr.setSourceEditPart(sourceEditPart);
- sourceEditPart.getCommand(ccr);
- ccr.setTargetEditPart(targetEditPart);
- ccr.setType(RequestConstants.REQ_CONNECTION_END);
- Command cmd = targetEditPart.getCommand(ccr);
- if (cmd != null && cmd.canExecute())
- {
- executeCommand(cmd);
- IAdaptable viewAdapter = (IAdaptable)ccr.getNewObject();
- if (viewAdapter != null)
- {
- adapters.add(viewAdapter);
- }
- }
- }
- return adapters;
- }
-
- /**
- * @generated
- */
- private EditPart getEditPart(EObject domainModelElement, Map<EObject, View> domain2NotationMap)
- {
- View view = (View)domain2NotationMap.get(domainModelElement);
- if (view != null)
- {
- return (EditPart)getHost().getViewer().getEditPartRegistry().get(view);
- }
- return null;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreLinkDescriptor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.diagram.ui.commands.DeferredLayoutCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.commands.SetViewMutabilityCommand;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @generated
+ */
+public class ACoreRootCanonicalEditPolicy extends CanonicalEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ Set<EStructuralFeature> myFeaturesToSynchronize;
+
+ /**
+ * @generated
+ */
+ protected List getSemanticChildrenList()
+ {
+ View viewObject = (View)getHost().getModel();
+ LinkedList<EObject> result = new LinkedList<EObject>();
+ List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater.getACoreRoot_1000SemanticChildren(viewObject);
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor d = it.next();
+ result.add(d.getModelElement());
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean shouldDeleteView(View view)
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isOrphaned(Collection semanticChildren, final View view)
+ {
+ int visualID = AcoreVisualIDRegistry.getVisualID(view);
+ switch (visualID)
+ {
+ case AInterfaceEditPart.VISUAL_ID:
+ case AClassEditPart.VISUAL_ID:
+ if (!semanticChildren.contains(view.getElement()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected Set getFeaturesToSynchronize()
+ {
+ if (myFeaturesToSynchronize == null)
+ {
+ myFeaturesToSynchronize = new HashSet<EStructuralFeature>();
+ myFeaturesToSynchronize.add(AcorePackage.eINSTANCE.getACoreRoot_Interfaces());
+ myFeaturesToSynchronize.add(AcorePackage.eINSTANCE.getACoreRoot_Classes());
+ }
+ return myFeaturesToSynchronize;
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshSemantic()
+ {
+ if (resolveSemanticElement() == null)
+ {
+ return;
+ }
+ LinkedList<IAdaptable> createdViews = new LinkedList<IAdaptable>();
+ // refreshSemanticChildren() alternative
+ List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater.getACoreRoot_1000SemanticChildren((View)getHost()
+ .getModel());
+ ArrayList<EObject> semanticChildren = new ArrayList<EObject>(childDescriptors.size());
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor next = it.next();
+ semanticChildren.add(next.getModelElement());
+ }
+ List<View> orphaned = cleanCanonicalSemanticChildren(getViewChildren(), semanticChildren);
+ boolean changed = deleteViews(orphaned.iterator());
+ // leave descriptors that reference survived semanticChildren.
+ // NOTE, we may want to stop using cleanCanonicalSemanticChildren() here, replacing with own code, that respects
+ // NodeDescriptors
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor next = it.next();
+ if (!semanticChildren.contains(next.getModelElement()))
+ {
+ it.remove();
+ }
+ }
+ ArrayList<CreateViewRequest.ViewDescriptor> viewDescriptors = new ArrayList<CreateViewRequest.ViewDescriptor>(
+ childDescriptors.size());
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor next = it.next();
+ String hint = AcoreVisualIDRegistry.getType(next.getVisualID());
+ IAdaptable elementAdapter = new CanonicalElementAdapter(next.getModelElement(), hint);
+ viewDescriptors.add(new CreateViewRequest.ViewDescriptor(elementAdapter, Node.class, hint, ViewUtil.APPEND,
+ false, host().getDiagramPreferencesHint()));
+ }
+ //
+ CreateViewRequest request = getCreateViewRequest(viewDescriptors);
+ Command cmd = getCreateViewCommand(request);
+ if (cmd != null && cmd.canExecute())
+ {
+ SetViewMutabilityCommand.makeMutable(new EObjectAdapter(host().getNotationView())).execute();
+ executeCommand(cmd);
+ createdViews.addAll((List<IAdaptable>)request.getNewObject());
+ }
+ if (changed || createdViews.size() > 0)
+ {
+ postProcessRefreshSemantic(createdViews);
+ }
+ Collection<IAdaptable> createdConnectionViews = refreshConnections();
+
+ if (createdViews.size() > 1)
+ {
+ // perform a layout of the container
+ DeferredLayoutCommand layoutCmd = new DeferredLayoutCommand(host().getEditingDomain(), createdViews, host());
+ executeCommand(new ICommandProxy(layoutCmd));
+ }
+
+ createdViews.addAll(createdConnectionViews);
+ makeViewsImmutable(createdViews);
+ }
+
+ /**
+ * @generated
+ */
+ private Diagram getDiagram()
+ {
+ return ((View)getHost().getModel()).getDiagram();
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<IAdaptable> refreshConnections()
+ {
+ Map<EObject, View> domain2NotationMap = new HashMap<EObject, View>();
+ Collection<AcoreLinkDescriptor> linkDescriptors = collectAllLinks(getDiagram(), domain2NotationMap);
+ Collection existingLinks = new LinkedList(getDiagram().getEdges());
+ for (Iterator linksIterator = existingLinks.iterator(); linksIterator.hasNext();)
+ {
+ Edge nextDiagramLink = (Edge)linksIterator.next();
+ int diagramLinkVisualID = AcoreVisualIDRegistry.getVisualID(nextDiagramLink);
+ if (diagramLinkVisualID == -1)
+ {
+ if (nextDiagramLink.getSource() != null && nextDiagramLink.getTarget() != null)
+ {
+ linksIterator.remove();
+ }
+ continue;
+ }
+ EObject diagramLinkObject = nextDiagramLink.getElement();
+ EObject diagramLinkSrc = nextDiagramLink.getSource().getElement();
+ EObject diagramLinkDst = nextDiagramLink.getTarget().getElement();
+ for (Iterator<AcoreLinkDescriptor> linkDescriptorsIterator = linkDescriptors.iterator(); linkDescriptorsIterator
+ .hasNext();)
+ {
+ AcoreLinkDescriptor nextLinkDescriptor = linkDescriptorsIterator.next();
+ if (diagramLinkObject == nextLinkDescriptor.getModelElement()
+ && diagramLinkSrc == nextLinkDescriptor.getSource()
+ && diagramLinkDst == nextLinkDescriptor.getDestination()
+ && diagramLinkVisualID == nextLinkDescriptor.getVisualID())
+ {
+ linksIterator.remove();
+ linkDescriptorsIterator.remove();
+ break;
+ }
+ }
+ }
+ deleteViews(existingLinks.iterator());
+ return createConnections(linkDescriptors, domain2NotationMap);
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<AcoreLinkDescriptor> collectAllLinks(View view, Map<EObject, View> domain2NotationMap)
+ {
+ if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view)))
+ {
+ return Collections.emptyList();
+ }
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case ACoreRootEditPart.VISUAL_ID:
+ {
+ if (!domain2NotationMap.containsKey(view.getElement()))
+ {
+ result.addAll(AcoreDiagramUpdater.getACoreRoot_1000ContainedLinks(view));
+ }
+ if (!domain2NotationMap.containsKey(view.getElement()) || view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
+ domain2NotationMap.put(view.getElement(), view);
+ }
+ break;
+ }
+ case AInterfaceEditPart.VISUAL_ID:
+ {
+ if (!domain2NotationMap.containsKey(view.getElement()))
+ {
+ result.addAll(AcoreDiagramUpdater.getAInterface_2001ContainedLinks(view));
+ }
+ if (!domain2NotationMap.containsKey(view.getElement()) || view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
+ domain2NotationMap.put(view.getElement(), view);
+ }
+ break;
+ }
+ case AClassEditPart.VISUAL_ID:
+ {
+ if (!domain2NotationMap.containsKey(view.getElement()))
+ {
+ result.addAll(AcoreDiagramUpdater.getAClass_2002ContainedLinks(view));
+ }
+ if (!domain2NotationMap.containsKey(view.getElement()) || view.getEAnnotation("Shortcut") == null) { //$NON-NLS-1$
+ domain2NotationMap.put(view.getElement(), view);
+ }
+ break;
+ }
+ }
+ for (Iterator children = view.getChildren().iterator(); children.hasNext();)
+ {
+ result.addAll(collectAllLinks((View)children.next(), domain2NotationMap));
+ }
+ for (Iterator edges = view.getSourceEdges().iterator(); edges.hasNext();)
+ {
+ result.addAll(collectAllLinks((View)edges.next(), domain2NotationMap));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<IAdaptable> createConnections(Collection<AcoreLinkDescriptor> linkDescriptors,
+ Map<EObject, View> domain2NotationMap)
+ {
+ LinkedList<IAdaptable> adapters = new LinkedList<IAdaptable>();
+ for (Iterator<AcoreLinkDescriptor> it = linkDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreLinkDescriptor nextLinkDescriptor = it.next();
+ EditPart sourceEditPart = getEditPart(nextLinkDescriptor.getSource(), domain2NotationMap);
+ EditPart targetEditPart = getEditPart(nextLinkDescriptor.getDestination(), domain2NotationMap);
+ if (sourceEditPart == null || targetEditPart == null)
+ {
+ continue;
+ }
+ CreateConnectionViewRequest.ConnectionViewDescriptor descriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(
+ nextLinkDescriptor.getSemanticAdapter(), String.valueOf(nextLinkDescriptor.getVisualID()), ViewUtil.APPEND,
+ false, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint());
+ CreateConnectionViewRequest ccr = new CreateConnectionViewRequest(descriptor);
+ ccr.setType(RequestConstants.REQ_CONNECTION_START);
+ ccr.setSourceEditPart(sourceEditPart);
+ sourceEditPart.getCommand(ccr);
+ ccr.setTargetEditPart(targetEditPart);
+ ccr.setType(RequestConstants.REQ_CONNECTION_END);
+ Command cmd = targetEditPart.getCommand(ccr);
+ if (cmd != null && cmd.canExecute())
+ {
+ executeCommand(cmd);
+ IAdaptable viewAdapter = (IAdaptable)ccr.getNewObject();
+ if (viewAdapter != null)
+ {
+ adapters.add(viewAdapter);
+ }
+ }
+ }
+ return adapters;
+ }
+
+ /**
+ * @generated
+ */
+ private EditPart getEditPart(EObject domainModelElement, Map<EObject, View> domain2NotationMap)
+ {
+ View view = (View)domain2NotationMap.get(domainModelElement);
+ if (view != null)
+ {
+ return (EditPart)getHost().getViewer().getEditPartRegistry().get(view);
+ }
+ return null;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootItemSemanticEditPolicy.java
index 0320cd2750..06602a10fc 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/ACoreRootItemSemanticEditPolicy.java
@@ -1,81 +1,81 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AInterfaceCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.emf.commands.core.commands.DuplicateEObjectsCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DuplicateElementsRequest;
-
-/**
- * @generated
- */
-public class ACoreRootItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public ACoreRootItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.ACoreRoot_1000);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req)
- {
- if (AcoreElementTypes.AInterface_2001 == req.getElementType())
- {
- return getGEFWrapper(new AInterfaceCreateCommand(req));
- }
- if (AcoreElementTypes.AClass_2002 == req.getElementType())
- {
- return getGEFWrapper(new AClassCreateCommand(req));
- }
- return super.getCreateCommand(req);
- }
-
- /**
- * @generated
- */
- protected Command getDuplicateCommand(DuplicateElementsRequest req)
- {
- TransactionalEditingDomain editingDomain = ((IGraphicalEditPart)getHost()).getEditingDomain();
- return getGEFWrapper(new DuplicateAnythingCommand(editingDomain, req));
- }
-
- /**
- * @generated
- */
- private static class DuplicateAnythingCommand extends DuplicateEObjectsCommand
- {
-
- /**
- * @generated
- */
- public DuplicateAnythingCommand(TransactionalEditingDomain editingDomain, DuplicateElementsRequest req)
- {
- super(editingDomain, req.getLabel(), req.getElementsToBeDuplicated(), req.getAllDuplicatedElementsMap());
- }
-
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AInterfaceCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.commands.core.commands.DuplicateEObjectsCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DuplicateElementsRequest;
+
+/**
+ * @generated
+ */
+public class ACoreRootItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public ACoreRootItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.ACoreRoot_1000);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req)
+ {
+ if (AcoreElementTypes.AInterface_2001 == req.getElementType())
+ {
+ return getGEFWrapper(new AInterfaceCreateCommand(req));
+ }
+ if (AcoreElementTypes.AClass_2002 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassCreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDuplicateCommand(DuplicateElementsRequest req)
+ {
+ TransactionalEditingDomain editingDomain = ((IGraphicalEditPart)getHost()).getEditingDomain();
+ return getGEFWrapper(new DuplicateAnythingCommand(editingDomain, req));
+ }
+
+ /**
+ * @generated
+ */
+ private static class DuplicateAnythingCommand extends DuplicateEObjectsCommand
+ {
+
+ /**
+ * @generated
+ */
+ public DuplicateAnythingCommand(TransactionalEditingDomain editingDomain, DuplicateElementsRequest req)
+ {
+ super(editingDomain, req.getLabel(), req.getElementsToBeDuplicated(), req.getAllDuplicatedElementsMap());
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy.java
index 7cbef361f1..b7ecf84d0d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy.java
@@ -1,79 +1,79 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
-{
-
- /**
- * @generated
- */
- protected List getSemanticChildrenList()
- {
- View viewObject = (View)getHost().getModel();
- LinkedList<EObject> result = new LinkedList<EObject>();
- List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
- .getAInterfaceAAttributeInterfaceCompartment_7001SemanticChildren(viewObject);
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor d = it.next();
- result.add(d.getModelElement());
- }
- return result;
- }
-
- /**
- * @generated
- */
- protected boolean isOrphaned(Collection semanticChildren, final View view)
- {
- int visualID = AcoreVisualIDRegistry.getVisualID(view);
- switch (visualID)
- {
- case AAttributeEditPart.VISUAL_ID:
- if (!semanticChildren.contains(view.getElement()))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected EStructuralFeature getFeatureToSynchronize()
- {
- return AcorePackage.eINSTANCE.getABasicClass_Attributes();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AInterfaceAAttributeInterfaceCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ protected List getSemanticChildrenList()
+ {
+ View viewObject = (View)getHost().getModel();
+ LinkedList<EObject> result = new LinkedList<EObject>();
+ List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
+ .getAInterfaceAAttributeInterfaceCompartment_7001SemanticChildren(viewObject);
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor d = it.next();
+ result.add(d.getModelElement());
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isOrphaned(Collection semanticChildren, final View view)
+ {
+ int visualID = AcoreVisualIDRegistry.getVisualID(view);
+ switch (visualID)
+ {
+ case AAttributeEditPart.VISUAL_ID:
+ if (!semanticChildren.contains(view.getElement()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected EStructuralFeature getFeatureToSynchronize()
+ {
+ return AcorePackage.eINSTANCE.getABasicClass_Attributes();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy.java
index a8cfee8e11..be171abff0 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy.java
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AAttributeCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-
-/**
- * @generated
- */
-public class AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AInterface_2001);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req)
- {
- if (AcoreElementTypes.AAttribute_3001 == req.getElementType())
- {
- return getGEFWrapper(new AAttributeCreateCommand(req));
- }
- return super.getCreateCommand(req);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AAttributeCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+/**
+ * @generated
+ */
+public class AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AInterfaceAAttributeInterfaceCompartmentItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AInterface_2001);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req)
+ {
+ if (AcoreElementTypes.AAttribute_3001 == req.getElementType())
+ {
+ return getGEFWrapper(new AAttributeCreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy.java
index 6773c9273a..78c97388a6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy.java
@@ -1,79 +1,79 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
-{
-
- /**
- * @generated
- */
- protected List getSemanticChildrenList()
- {
- View viewObject = (View)getHost().getModel();
- LinkedList<EObject> result = new LinkedList<EObject>();
- List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
- .getAInterfaceAOperationInterfaceCompartment_7002SemanticChildren(viewObject);
- for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
- {
- AcoreNodeDescriptor d = it.next();
- result.add(d.getModelElement());
- }
- return result;
- }
-
- /**
- * @generated
- */
- protected boolean isOrphaned(Collection semanticChildren, final View view)
- {
- int visualID = AcoreVisualIDRegistry.getVisualID(view);
- switch (visualID)
- {
- case AOperationEditPart.VISUAL_ID:
- if (!semanticChildren.contains(view.getElement()))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected EStructuralFeature getFeatureToSynchronize()
- {
- return AcorePackage.eINSTANCE.getABasicClass_Operations();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramUpdater;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreNodeDescriptor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AInterfaceAOperationInterfaceCompartmentCanonicalEditPolicy extends CanonicalEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ protected List getSemanticChildrenList()
+ {
+ View viewObject = (View)getHost().getModel();
+ LinkedList<EObject> result = new LinkedList<EObject>();
+ List<AcoreNodeDescriptor> childDescriptors = AcoreDiagramUpdater
+ .getAInterfaceAOperationInterfaceCompartment_7002SemanticChildren(viewObject);
+ for (Iterator<AcoreNodeDescriptor> it = childDescriptors.iterator(); it.hasNext();)
+ {
+ AcoreNodeDescriptor d = it.next();
+ result.add(d.getModelElement());
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isOrphaned(Collection semanticChildren, final View view)
+ {
+ int visualID = AcoreVisualIDRegistry.getVisualID(view);
+ switch (visualID)
+ {
+ case AOperationEditPart.VISUAL_ID:
+ if (!semanticChildren.contains(view.getElement()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected EStructuralFeature getFeatureToSynchronize()
+ {
+ return AcorePackage.eINSTANCE.getABasicClass_Operations();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy.java
index 03a8c779f8..0b6ddeb5cb 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy.java
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AOperationCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-
-/**
- * @generated
- */
-public class AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AInterface_2001);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req)
- {
- if (AcoreElementTypes.AOperation_3002 == req.getElementType())
- {
- return getGEFWrapper(new AOperationCreateCommand(req));
- }
- return super.getCreateCommand(req);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AOperationCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+/**
+ * @generated
+ */
+public class AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AInterfaceAOperationInterfaceCompartmentItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AInterface_2001);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req)
+ {
+ if (AcoreElementTypes.AOperation_3002 == req.getElementType())
+ {
+ return getGEFWrapper(new AOperationCreateCommand(req));
+ }
+ return super.getCreateCommand(req);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceItemSemanticEditPolicy.java
index b4205f8db6..38da38ff9c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AInterfaceItemSemanticEditPolicy.java
@@ -1,187 +1,187 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesCreateCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesReorientCommand;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AInterfaceItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AInterfaceItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AInterface_2001);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- View view = (View)getHost().getModel();
- CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
- cmd.setTransactionNestingEnabled(false);
- for (Iterator it = view.getTargetEdges().iterator(); it.hasNext();)
- {
- Edge incomingLink = (Edge)it.next();
- if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassImplementedInterfacesEditPart.VISUAL_ID)
- {
- DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
- incomingLink.getTarget().getElement(), false);
- cmd.add(new DestroyReferenceCommand(r));
- cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
- continue;
- }
- }
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation == null)
- {
- // there are indirectly referenced children, need extra commands: false
- addDestroyChildNodesCommand(cmd);
- addDestroyShortcutsCommand(cmd, view);
- // delete host element
- cmd.add(new DestroyElementCommand(req));
- }
- else
- {
- cmd.add(new DeleteCommand(getEditingDomain(), view));
- }
- return getGEFWrapper(cmd.reduce());
- }
-
- /**
- * @generated
- */
- private void addDestroyChildNodesCommand(ICompositeCommand cmd)
- {
- View view = (View)getHost().getModel();
- for (Iterator nit = view.getChildren().iterator(); nit.hasNext();)
- {
- Node node = (Node)nit.next();
- switch (AcoreVisualIDRegistry.getVisualID(node))
- {
- case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
- for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
- {
- Node cnode = (Node)cit.next();
- switch (AcoreVisualIDRegistry.getVisualID(cnode))
- {
- case AAttributeEditPart.VISUAL_ID:
- cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
- // true
- // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
- // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
- break;
- }
- }
- break;
- case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
- for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
- {
- Node cnode = (Node)cit.next();
- switch (AcoreVisualIDRegistry.getVisualID(cnode))
- {
- case AOperationEditPart.VISUAL_ID:
- cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
- // true
- // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
- // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
- break;
- }
- }
- break;
- }
- }
- }
-
- /**
- * @generated
- */
- protected Command getCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- Command command = req.getTarget() == null ? getStartCreateRelationshipCommand(req)
- : getCompleteCreateRelationshipCommand(req);
- return command != null ? command : super.getCreateRelationshipCommand(req);
- }
-
- /**
- * @generated
- */
- protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
- {
- return null;
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
- {
- return getGEFWrapper(new AClassImplementedInterfacesCreateCommand(req, req.getSource(), req.getTarget()));
- }
- return null;
- }
-
- /**
- * Returns command to reorient EReference based link. New link target or source should be the domain model element
- * associated with this node.
- *
- * @generated
- */
- protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req)
- {
- switch (getVisualID(req))
- {
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return getGEFWrapper(new AClassImplementedInterfacesReorientCommand(req));
- }
- return super.getReorientReferenceRelationshipCommand(req);
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesCreateCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.commands.AClassImplementedInterfacesReorientCommand;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyReferenceCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AInterfaceItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AInterfaceItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AInterface_2001);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(false);
+ for (Iterator it = view.getTargetEdges().iterator(); it.hasNext();)
+ {
+ Edge incomingLink = (Edge)it.next();
+ if (AcoreVisualIDRegistry.getVisualID(incomingLink) == AClassImplementedInterfacesEditPart.VISUAL_ID)
+ {
+ DestroyReferenceRequest r = new DestroyReferenceRequest(incomingLink.getSource().getElement(), null,
+ incomingLink.getTarget().getElement(), false);
+ cmd.add(new DestroyReferenceCommand(r));
+ cmd.add(new DeleteCommand(getEditingDomain(), incomingLink));
+ continue;
+ }
+ }
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation == null)
+ {
+ // there are indirectly referenced children, need extra commands: false
+ addDestroyChildNodesCommand(cmd);
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ cmd.add(new DestroyElementCommand(req));
+ }
+ else
+ {
+ cmd.add(new DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+ /**
+ * @generated
+ */
+ private void addDestroyChildNodesCommand(ICompositeCommand cmd)
+ {
+ View view = (View)getHost().getModel();
+ for (Iterator nit = view.getChildren().iterator(); nit.hasNext();)
+ {
+ Node node = (Node)nit.next();
+ switch (AcoreVisualIDRegistry.getVisualID(node))
+ {
+ case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
+ for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
+ {
+ Node cnode = (Node)cit.next();
+ switch (AcoreVisualIDRegistry.getVisualID(cnode))
+ {
+ case AAttributeEditPart.VISUAL_ID:
+ cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
+ // true
+ // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
+ // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
+ break;
+ }
+ }
+ break;
+ case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
+ for (Iterator cit = node.getChildren().iterator(); cit.hasNext();)
+ {
+ Node cnode = (Node)cit.next();
+ switch (AcoreVisualIDRegistry.getVisualID(cnode))
+ {
+ case AOperationEditPart.VISUAL_ID:
+ cmd.add(new DestroyElementCommand(new DestroyElementRequest(getEditingDomain(), cnode.getElement(), false))); // directlyOwned:
+ // true
+ // don't need explicit deletion of cnode as parent's view deletion would clean child views as well
+ // cmd.add(new org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand(getEditingDomain(), cnode));
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ Command command = req.getTarget() == null ? getStartCreateRelationshipCommand(req)
+ : getCompleteCreateRelationshipCommand(req);
+ return command != null ? command : super.getCreateRelationshipCommand(req);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
+ {
+ return null;
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ if (AcoreElementTypes.AClassImplementedInterfaces_4002 == req.getElementType())
+ {
+ return getGEFWrapper(new AClassImplementedInterfacesCreateCommand(req, req.getSource(), req.getTarget()));
+ }
+ return null;
+ }
+
+ /**
+ * Returns command to reorient EReference based link. New link target or source should be the domain model element
+ * associated with this node.
+ *
+ * @generated
+ */
+ protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req)
+ {
+ switch (getVisualID(req))
+ {
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return getGEFWrapper(new AClassImplementedInterfacesReorientCommand(req));
+ }
+ return super.getReorientReferenceRelationshipCommand(req);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperation2ItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperation2ItemSemanticEditPolicy.java
index 71799d5f80..113a0ca677 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperation2ItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperation2ItemSemanticEditPolicy.java
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AOperation2ItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AOperation2ItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AOperation_3004);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- View view = (View)getHost().getModel();
- CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
- cmd.setTransactionNestingEnabled(false);
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation == null)
- {
- // there are indirectly referenced children, need extra commands: false
- addDestroyShortcutsCommand(cmd, view);
- // delete host element
- cmd.add(new DestroyElementCommand(req));
- }
- else
- {
- cmd.add(new DeleteCommand(getEditingDomain(), view));
- }
- return getGEFWrapper(cmd.reduce());
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AOperation2ItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AOperation2ItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AOperation_3004);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(false);
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation == null)
+ {
+ // there are indirectly referenced children, need extra commands: false
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ cmd.add(new DestroyElementCommand(req));
+ }
+ else
+ {
+ cmd.add(new DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperationItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperationItemSemanticEditPolicy.java
index 6ba9de535c..d504de9144 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperationItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AOperationItemSemanticEditPolicy.java
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EAnnotation;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AOperationItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
-{
-
- /**
- * @generated
- */
- public AOperationItemSemanticEditPolicy()
- {
- super(AcoreElementTypes.AOperation_3002);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- View view = (View)getHost().getModel();
- CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
- cmd.setTransactionNestingEnabled(false);
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation == null)
- {
- // there are indirectly referenced children, need extra commands: false
- addDestroyShortcutsCommand(cmd, view);
- // delete host element
- cmd.add(new DestroyElementCommand(req));
- }
- else
- {
- cmd.add(new DeleteCommand(getEditingDomain(), view));
- }
- return getGEFWrapper(cmd.reduce());
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EAnnotation;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.DestroyElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AOperationItemSemanticEditPolicy extends AcoreBaseItemSemanticEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ public AOperationItemSemanticEditPolicy()
+ {
+ super(AcoreElementTypes.AOperation_3002);
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ View view = (View)getHost().getModel();
+ CompositeTransactionalCommand cmd = new CompositeTransactionalCommand(getEditingDomain(), null);
+ cmd.setTransactionNestingEnabled(false);
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation == null)
+ {
+ // there are indirectly referenced children, need extra commands: false
+ addDestroyShortcutsCommand(cmd, view);
+ // delete host element
+ cmd.add(new DestroyElementCommand(req));
+ }
+ else
+ {
+ cmd.add(new DeleteCommand(getEditingDomain(), view));
+ }
+ return getGEFWrapper(cmd.reduce());
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreBaseItemSemanticEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreBaseItemSemanticEditPolicy.java
index b53a25ab06..cc05566774 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreBaseItemSemanticEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreBaseItemSemanticEditPolicy.java
@@ -1,474 +1,474 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AcoreBaseEditHelper;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.UnexecutableCommand;
-import org.eclipse.gef.requests.ReconnectRequest;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
-import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
-import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.SemanticEditPolicy;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DuplicateElementsRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.MoveRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AcoreBaseItemSemanticEditPolicy extends SemanticEditPolicy
-{
-
- /**
- * Extended request data key to hold editpart visual id.
- *
- * @generated
- */
- public static final String VISUAL_ID_KEY = "visual_id"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- private final IElementType myElementType;
-
- /**
- * @generated
- */
- protected AcoreBaseItemSemanticEditPolicy(IElementType elementType)
- {
- myElementType = elementType;
- }
-
- /**
- * Extended request data key to hold editpart visual id. Add visual id of edited editpart to extended data of the
- * request so command switch can decide what kind of diagram element is being edited. It is done in those cases when
- * it's not possible to deduce diagram element kind from domain element.
- *
- * @generated
- */
- public Command getCommand(Request request)
- {
- if (request instanceof ReconnectRequest)
- {
- Object view = ((ReconnectRequest)request).getConnectionEditPart().getModel();
- if (view instanceof View)
- {
- Integer id = new Integer(AcoreVisualIDRegistry.getVisualID((View)view));
- request.getExtendedData().put(VISUAL_ID_KEY, id);
- }
- }
- return super.getCommand(request);
- }
-
- /**
- * Returns visual id from request parameters.
- *
- * @generated
- */
- protected int getVisualID(IEditCommandRequest request)
- {
- Object id = request.getParameter(VISUAL_ID_KEY);
- return id instanceof Integer ? ((Integer)id).intValue() : -1;
- }
-
- /**
- * @generated
- */
- protected Command getSemanticCommand(IEditCommandRequest request)
- {
- IEditCommandRequest completedRequest = completeRequest(request);
- Command semanticCommand = getSemanticCommandSwitch(completedRequest);
- semanticCommand = getEditHelperCommand(completedRequest, semanticCommand);
- if (completedRequest instanceof DestroyRequest)
- {
- DestroyRequest destroyRequest = (DestroyRequest)completedRequest;
- return shouldProceed(destroyRequest) ? addDeleteViewCommand(semanticCommand, destroyRequest) : null;
- }
- return semanticCommand;
- }
-
- /**
- * @generated
- */
- protected Command addDeleteViewCommand(Command mainCommand, DestroyRequest completedRequest)
- {
- Command deleteViewCommand = getGEFWrapper(new DeleteCommand(getEditingDomain(), (View)getHost().getModel()));
- return mainCommand == null ? deleteViewCommand : mainCommand.chain(deleteViewCommand);
- }
-
- /**
- * @generated
- */
- private Command getEditHelperCommand(IEditCommandRequest request, Command editPolicyCommand)
- {
- if (editPolicyCommand != null)
- {
- ICommand command = editPolicyCommand instanceof ICommandProxy ? ((ICommandProxy)editPolicyCommand).getICommand()
- : new CommandProxy(editPolicyCommand);
- request.setParameter(AcoreBaseEditHelper.EDIT_POLICY_COMMAND, command);
- }
- IElementType requestContextElementType = getContextElementType(request);
- request.setParameter(AcoreBaseEditHelper.CONTEXT_ELEMENT_TYPE, requestContextElementType);
- ICommand command = requestContextElementType.getEditCommand(request);
- request.setParameter(AcoreBaseEditHelper.EDIT_POLICY_COMMAND, null);
- request.setParameter(AcoreBaseEditHelper.CONTEXT_ELEMENT_TYPE, null);
- if (command != null)
- {
- if (!(command instanceof CompositeTransactionalCommand))
- {
- command = new CompositeTransactionalCommand(getEditingDomain(), command.getLabel()).compose(command);
- }
- return new ICommandProxy(command);
- }
- return editPolicyCommand;
- }
-
- /**
- * @generated
- */
- private IElementType getContextElementType(IEditCommandRequest request)
- {
- IElementType requestContextElementType = AcoreElementTypes.getElementType(getVisualID(request));
- return requestContextElementType != null ? requestContextElementType : myElementType;
- }
-
- /**
- * @generated
- */
- protected Command getSemanticCommandSwitch(IEditCommandRequest req)
- {
- if (req instanceof CreateRelationshipRequest)
- {
- return getCreateRelationshipCommand((CreateRelationshipRequest)req);
- }
- else if (req instanceof CreateElementRequest)
- {
- return getCreateCommand((CreateElementRequest)req);
- }
- else if (req instanceof ConfigureRequest)
- {
- return getConfigureCommand((ConfigureRequest)req);
- }
- else if (req instanceof DestroyElementRequest)
- {
- return getDestroyElementCommand((DestroyElementRequest)req);
- }
- else if (req instanceof DestroyReferenceRequest)
- {
- return getDestroyReferenceCommand((DestroyReferenceRequest)req);
- }
- else if (req instanceof DuplicateElementsRequest)
- {
- return getDuplicateCommand((DuplicateElementsRequest)req);
- }
- else if (req instanceof GetEditContextRequest)
- {
- return getEditContextCommand((GetEditContextRequest)req);
- }
- else if (req instanceof MoveRequest)
- {
- return getMoveCommand((MoveRequest)req);
- }
- else if (req instanceof ReorientReferenceRelationshipRequest)
- {
- return getReorientReferenceRelationshipCommand((ReorientReferenceRelationshipRequest)req);
- }
- else if (req instanceof ReorientRelationshipRequest)
- {
- return getReorientRelationshipCommand((ReorientRelationshipRequest)req);
- }
- else if (req instanceof SetRequest)
- {
- return getSetCommand((SetRequest)req);
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getConfigureCommand(ConfigureRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getCreateRelationshipCommand(CreateRelationshipRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getSetCommand(SetRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getEditContextCommand(GetEditContextRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getDuplicateCommand(DuplicateElementsRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getMoveCommand(MoveRequest req)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req)
- {
- return UnexecutableCommand.INSTANCE;
- }
-
- /**
- * @generated
- */
- protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req)
- {
- return UnexecutableCommand.INSTANCE;
- }
-
- /**
- * @generated
- */
- protected final Command getGEFWrapper(ICommand cmd)
- {
- return new ICommandProxy(cmd);
- }
-
- /**
- * Returns editing domain from the host edit part.
- *
- * @generated
- */
- protected TransactionalEditingDomain getEditingDomain()
- {
- return ((IGraphicalEditPart)getHost()).getEditingDomain();
- }
-
- /**
- * Clean all shortcuts to the host element from the same diagram
- *
- * @generated
- */
- protected void addDestroyShortcutsCommand(ICompositeCommand cmd, View view)
- {
- assert view.getEAnnotation("Shortcut") == null; //$NON-NLS-1$
- for (Iterator it = view.getDiagram().getChildren().iterator(); it.hasNext();)
- {
- View nextView = (View)it.next();
- if (nextView.getEAnnotation("Shortcut") == null || !nextView.isSetElement() || nextView.getElement() != view.getElement()) { //$NON-NLS-1$
- continue;
- }
- cmd.add(new DeleteCommand(getEditingDomain(), nextView));
- }
- }
-
- /**
- * @generated
- */
- public static class LinkConstraints
- {
-
- /**
- * @generated
- */
- public static boolean canCreateAClassSubClasses_4001(AClass source, AClass target)
- {
- if (source != null)
- {
- if (source.getSubClasses().contains(target))
- {
- return false;
- }
- }
-
- return canExistAClassSubClasses_4001(source, target);
- }
-
- /**
- * @generated
- */
- public static boolean canCreateAClassImplementedInterfaces_4002(AClass source, AInterface target)
- {
- if (source != null)
- {
- if (source.getImplementedInterfaces().contains(target))
- {
- return false;
- }
- }
-
- return canExistAClassImplementedInterfaces_4002(source, target);
- }
-
- /**
- * @generated
- */
- public static boolean canCreateAClassAssociations_4003(AClass source, AClass target)
- {
- if (source != null)
- {
- if (source.getAssociations().contains(target))
- {
- return false;
- }
- }
-
- return canExistAClassAssociations_4003(source, target);
- }
-
- /**
- * @generated
- */
- public static boolean canCreateAClassAggregations_4004(AClass source, AClass target)
- {
- if (source != null)
- {
- if (source.getAggregations().contains(target))
- {
- return false;
- }
- }
-
- return canExistAClassAggregations_4004(source, target);
- }
-
- /**
- * @generated
- */
- public static boolean canCreateAClassCompositions_4005(AClass source, AClass target)
- {
- if (source != null)
- {
- if (source.getCompositions().contains(target))
- {
- return false;
- }
- }
-
- return canExistAClassCompositions_4005(source, target);
- }
-
- /**
- * @generated
- */
- public static boolean canExistAClassSubClasses_4001(AClass source, AClass target)
- {
- return true;
- }
-
- /**
- * @generated
- */
- public static boolean canExistAClassImplementedInterfaces_4002(AClass source, AInterface target)
- {
- return true;
- }
-
- /**
- * @generated
- */
- public static boolean canExistAClassAssociations_4003(AClass source, AClass target)
- {
- return true;
- }
-
- /**
- * @generated
- */
- public static boolean canExistAClassAggregations_4004(AClass source, AClass target)
- {
- return true;
- }
-
- /**
- * @generated
- */
- public static boolean canExistAClassCompositions_4005(AClass source, AClass target)
- {
- return true;
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.helpers.AcoreBaseEditHelper;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.UnexecutableCommand;
+import org.eclipse.gef.requests.ReconnectRequest;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.ICompositeCommand;
+import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.SemanticEditPolicy;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyReferenceRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DuplicateElementsRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.MoveRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AcoreBaseItemSemanticEditPolicy extends SemanticEditPolicy
+{
+
+ /**
+ * Extended request data key to hold editpart visual id.
+ *
+ * @generated
+ */
+ public static final String VISUAL_ID_KEY = "visual_id"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ private final IElementType myElementType;
+
+ /**
+ * @generated
+ */
+ protected AcoreBaseItemSemanticEditPolicy(IElementType elementType)
+ {
+ myElementType = elementType;
+ }
+
+ /**
+ * Extended request data key to hold editpart visual id. Add visual id of edited editpart to extended data of the
+ * request so command switch can decide what kind of diagram element is being edited. It is done in those cases when
+ * it's not possible to deduce diagram element kind from domain element.
+ *
+ * @generated
+ */
+ public Command getCommand(Request request)
+ {
+ if (request instanceof ReconnectRequest)
+ {
+ Object view = ((ReconnectRequest)request).getConnectionEditPart().getModel();
+ if (view instanceof View)
+ {
+ Integer id = new Integer(AcoreVisualIDRegistry.getVisualID((View)view));
+ request.getExtendedData().put(VISUAL_ID_KEY, id);
+ }
+ }
+ return super.getCommand(request);
+ }
+
+ /**
+ * Returns visual id from request parameters.
+ *
+ * @generated
+ */
+ protected int getVisualID(IEditCommandRequest request)
+ {
+ Object id = request.getParameter(VISUAL_ID_KEY);
+ return id instanceof Integer ? ((Integer)id).intValue() : -1;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getSemanticCommand(IEditCommandRequest request)
+ {
+ IEditCommandRequest completedRequest = completeRequest(request);
+ Command semanticCommand = getSemanticCommandSwitch(completedRequest);
+ semanticCommand = getEditHelperCommand(completedRequest, semanticCommand);
+ if (completedRequest instanceof DestroyRequest)
+ {
+ DestroyRequest destroyRequest = (DestroyRequest)completedRequest;
+ return shouldProceed(destroyRequest) ? addDeleteViewCommand(semanticCommand, destroyRequest) : null;
+ }
+ return semanticCommand;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command addDeleteViewCommand(Command mainCommand, DestroyRequest completedRequest)
+ {
+ Command deleteViewCommand = getGEFWrapper(new DeleteCommand(getEditingDomain(), (View)getHost().getModel()));
+ return mainCommand == null ? deleteViewCommand : mainCommand.chain(deleteViewCommand);
+ }
+
+ /**
+ * @generated
+ */
+ private Command getEditHelperCommand(IEditCommandRequest request, Command editPolicyCommand)
+ {
+ if (editPolicyCommand != null)
+ {
+ ICommand command = editPolicyCommand instanceof ICommandProxy ? ((ICommandProxy)editPolicyCommand).getICommand()
+ : new CommandProxy(editPolicyCommand);
+ request.setParameter(AcoreBaseEditHelper.EDIT_POLICY_COMMAND, command);
+ }
+ IElementType requestContextElementType = getContextElementType(request);
+ request.setParameter(AcoreBaseEditHelper.CONTEXT_ELEMENT_TYPE, requestContextElementType);
+ ICommand command = requestContextElementType.getEditCommand(request);
+ request.setParameter(AcoreBaseEditHelper.EDIT_POLICY_COMMAND, null);
+ request.setParameter(AcoreBaseEditHelper.CONTEXT_ELEMENT_TYPE, null);
+ if (command != null)
+ {
+ if (!(command instanceof CompositeTransactionalCommand))
+ {
+ command = new CompositeTransactionalCommand(getEditingDomain(), command.getLabel()).compose(command);
+ }
+ return new ICommandProxy(command);
+ }
+ return editPolicyCommand;
+ }
+
+ /**
+ * @generated
+ */
+ private IElementType getContextElementType(IEditCommandRequest request)
+ {
+ IElementType requestContextElementType = AcoreElementTypes.getElementType(getVisualID(request));
+ return requestContextElementType != null ? requestContextElementType : myElementType;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getSemanticCommandSwitch(IEditCommandRequest req)
+ {
+ if (req instanceof CreateRelationshipRequest)
+ {
+ return getCreateRelationshipCommand((CreateRelationshipRequest)req);
+ }
+ else if (req instanceof CreateElementRequest)
+ {
+ return getCreateCommand((CreateElementRequest)req);
+ }
+ else if (req instanceof ConfigureRequest)
+ {
+ return getConfigureCommand((ConfigureRequest)req);
+ }
+ else if (req instanceof DestroyElementRequest)
+ {
+ return getDestroyElementCommand((DestroyElementRequest)req);
+ }
+ else if (req instanceof DestroyReferenceRequest)
+ {
+ return getDestroyReferenceCommand((DestroyReferenceRequest)req);
+ }
+ else if (req instanceof DuplicateElementsRequest)
+ {
+ return getDuplicateCommand((DuplicateElementsRequest)req);
+ }
+ else if (req instanceof GetEditContextRequest)
+ {
+ return getEditContextCommand((GetEditContextRequest)req);
+ }
+ else if (req instanceof MoveRequest)
+ {
+ return getMoveCommand((MoveRequest)req);
+ }
+ else if (req instanceof ReorientReferenceRelationshipRequest)
+ {
+ return getReorientReferenceRelationshipCommand((ReorientReferenceRelationshipRequest)req);
+ }
+ else if (req instanceof ReorientRelationshipRequest)
+ {
+ return getReorientRelationshipCommand((ReorientRelationshipRequest)req);
+ }
+ else if (req instanceof SetRequest)
+ {
+ return getSetCommand((SetRequest)req);
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getConfigureCommand(ConfigureRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateRelationshipCommand(CreateRelationshipRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCreateCommand(CreateElementRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getSetCommand(SetRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getEditContextCommand(GetEditContextRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyElementCommand(DestroyElementRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDestroyReferenceCommand(DestroyReferenceRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getDuplicateCommand(DuplicateElementsRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getMoveCommand(MoveRequest req)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req)
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req)
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ /**
+ * @generated
+ */
+ protected final Command getGEFWrapper(ICommand cmd)
+ {
+ return new ICommandProxy(cmd);
+ }
+
+ /**
+ * Returns editing domain from the host edit part.
+ *
+ * @generated
+ */
+ protected TransactionalEditingDomain getEditingDomain()
+ {
+ return ((IGraphicalEditPart)getHost()).getEditingDomain();
+ }
+
+ /**
+ * Clean all shortcuts to the host element from the same diagram
+ *
+ * @generated
+ */
+ protected void addDestroyShortcutsCommand(ICompositeCommand cmd, View view)
+ {
+ assert view.getEAnnotation("Shortcut") == null; //$NON-NLS-1$
+ for (Iterator it = view.getDiagram().getChildren().iterator(); it.hasNext();)
+ {
+ View nextView = (View)it.next();
+ if (nextView.getEAnnotation("Shortcut") == null || !nextView.isSetElement() || nextView.getElement() != view.getElement()) { //$NON-NLS-1$
+ continue;
+ }
+ cmd.add(new DeleteCommand(getEditingDomain(), nextView));
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public static class LinkConstraints
+ {
+
+ /**
+ * @generated
+ */
+ public static boolean canCreateAClassSubClasses_4001(AClass source, AClass target)
+ {
+ if (source != null)
+ {
+ if (source.getSubClasses().contains(target))
+ {
+ return false;
+ }
+ }
+
+ return canExistAClassSubClasses_4001(source, target);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canCreateAClassImplementedInterfaces_4002(AClass source, AInterface target)
+ {
+ if (source != null)
+ {
+ if (source.getImplementedInterfaces().contains(target))
+ {
+ return false;
+ }
+ }
+
+ return canExistAClassImplementedInterfaces_4002(source, target);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canCreateAClassAssociations_4003(AClass source, AClass target)
+ {
+ if (source != null)
+ {
+ if (source.getAssociations().contains(target))
+ {
+ return false;
+ }
+ }
+
+ return canExistAClassAssociations_4003(source, target);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canCreateAClassAggregations_4004(AClass source, AClass target)
+ {
+ if (source != null)
+ {
+ if (source.getAggregations().contains(target))
+ {
+ return false;
+ }
+ }
+
+ return canExistAClassAggregations_4004(source, target);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canCreateAClassCompositions_4005(AClass source, AClass target)
+ {
+ if (source != null)
+ {
+ if (source.getCompositions().contains(target))
+ {
+ return false;
+ }
+ }
+
+ return canExistAClassCompositions_4005(source, target);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canExistAClassSubClasses_4001(AClass source, AClass target)
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canExistAClassImplementedInterfaces_4002(AClass source, AInterface target)
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canExistAClassAssociations_4003(AClass source, AClass target)
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canExistAClassAggregations_4004(AClass source, AClass target)
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canExistAClassCompositions_4005(AClass source, AClass target)
+ {
+ return true;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextNonResizableEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextNonResizableEditPolicy.java
index 25ee1d51a6..6df2e2f77d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextNonResizableEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextNonResizableEditPolicy.java
@@ -1,281 +1,281 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.FigureListener;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.MoveHandle;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
-import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AcoreTextNonResizableEditPolicy extends NonResizableEditPolicyEx
-{
-
- /**
- * @generated
- */
- private IFigure selectionFeedbackFigure;
-
- /**
- * @generated
- */
- private IFigure focusFeedbackFigure;
-
- /**
- * @generated
- */
- private FigureListener hostPositionListener;
-
- /**
- * @generated
- */
- protected void showPrimarySelection()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setSelected(true);
- ((WrappingLabel)getHostFigure()).setFocus(true);
- }
- else
- {
- showSelection();
- showFocus();
- }
- }
-
- /**
- * @generated
- */
- protected void showSelection()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setSelected(true);
- ((WrappingLabel)getHostFigure()).setFocus(false);
- }
- else
- {
- hideSelection();
- addFeedback(selectionFeedbackFigure = createSelectionFeedbackFigure());
- getHostFigure().addFigureListener(getHostPositionListener());
- refreshSelectionFeedback();
- hideFocus();
- }
- }
-
- /**
- * @generated
- */
- protected void hideSelection()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setSelected(false);
- ((WrappingLabel)getHostFigure()).setFocus(false);
- }
- else
- {
- if (selectionFeedbackFigure != null)
- {
- removeFeedback(selectionFeedbackFigure);
- getHostFigure().removeFigureListener(getHostPositionListener());
- selectionFeedbackFigure = null;
- }
- hideFocus();
- }
- }
-
- /**
- * @generated
- */
- protected void showFocus()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setFocus(true);
- }
- else
- {
- hideFocus();
- addFeedback(focusFeedbackFigure = createFocusFeedbackFigure());
- refreshFocusFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void hideFocus()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setFocus(false);
- }
- else
- {
- if (focusFeedbackFigure != null)
- {
- removeFeedback(focusFeedbackFigure);
- focusFeedbackFigure = null;
- }
- }
- }
-
- /**
- * @generated
- */
- protected Rectangle getFeedbackBounds()
- {
- Rectangle bounds;
- if (getHostFigure() instanceof Label)
- {
- bounds = ((Label)getHostFigure()).getTextBounds();
- bounds.intersect(getHostFigure().getBounds());
- }
- else
- {
- bounds = getHostFigure().getBounds().getCopy();
- }
- getHostFigure().getParent().translateToAbsolute(bounds);
- getFeedbackLayer().translateToRelative(bounds);
- return bounds;
- }
-
- /**
- * @generated
- */
- protected IFigure createSelectionFeedbackFigure()
- {
- if (getHostFigure() instanceof Label)
- {
- Label feedbackFigure = new Label();
- feedbackFigure.setOpaque(true);
- feedbackFigure.setBackgroundColor(ColorConstants.menuBackgroundSelected);
- feedbackFigure.setForegroundColor(ColorConstants.menuForegroundSelected);
- return feedbackFigure;
- }
- else
- {
- RectangleFigure feedbackFigure = new RectangleFigure();
- feedbackFigure.setFill(false);
- return feedbackFigure;
- }
- }
-
- /**
- * @generated
- */
- protected IFigure createFocusFeedbackFigure()
- {
- return new Figure()
- {
-
- protected void paintFigure(Graphics graphics)
- {
- graphics.drawFocus(getBounds().getResized(-1, -1));
- }
- };
- }
-
- /**
- * @generated
- */
- protected void updateLabel(Label target)
- {
- Label source = (Label)getHostFigure();
- target.setText(source.getText());
- target.setTextAlignment(source.getTextAlignment());
- target.setFont(source.getFont());
- }
-
- /**
- * @generated
- */
- protected void refreshSelectionFeedback()
- {
- if (selectionFeedbackFigure != null)
- {
- if (selectionFeedbackFigure instanceof Label)
- {
- updateLabel((Label)selectionFeedbackFigure);
- selectionFeedbackFigure.setBounds(getFeedbackBounds());
- }
- else
- {
- selectionFeedbackFigure.setBounds(getFeedbackBounds().expand(5, 5));
- }
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFocusFeedback()
- {
- if (focusFeedbackFigure != null)
- {
- focusFeedbackFigure.setBounds(getFeedbackBounds());
- }
- }
-
- /**
- * @generated
- */
- public void refreshFeedback()
- {
- refreshSelectionFeedback();
- refreshFocusFeedback();
- }
-
- /**
- * @generated
- */
- private FigureListener getHostPositionListener()
- {
- if (hostPositionListener == null)
- {
- hostPositionListener = new FigureListener()
- {
- public void figureMoved(IFigure source)
- {
- refreshFeedback();
- }
- };
- }
- return hostPositionListener;
- }
-
- /**
- * @generated
- */
- protected List createSelectionHandles()
- {
- MoveHandle moveHandle = new MoveHandle((GraphicalEditPart)getHost());
- moveHandle.setBorder(null);
- moveHandle.setDragTracker(new DragEditPartsTrackerEx(getHost()));
- return Collections.singletonList(moveHandle);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.FigureListener;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.RectangleFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.handles.MoveHandle;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
+import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AcoreTextNonResizableEditPolicy extends NonResizableEditPolicyEx
+{
+
+ /**
+ * @generated
+ */
+ private IFigure selectionFeedbackFigure;
+
+ /**
+ * @generated
+ */
+ private IFigure focusFeedbackFigure;
+
+ /**
+ * @generated
+ */
+ private FigureListener hostPositionListener;
+
+ /**
+ * @generated
+ */
+ protected void showPrimarySelection()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setSelected(true);
+ ((WrappingLabel)getHostFigure()).setFocus(true);
+ }
+ else
+ {
+ showSelection();
+ showFocus();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void showSelection()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setSelected(true);
+ ((WrappingLabel)getHostFigure()).setFocus(false);
+ }
+ else
+ {
+ hideSelection();
+ addFeedback(selectionFeedbackFigure = createSelectionFeedbackFigure());
+ getHostFigure().addFigureListener(getHostPositionListener());
+ refreshSelectionFeedback();
+ hideFocus();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void hideSelection()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setSelected(false);
+ ((WrappingLabel)getHostFigure()).setFocus(false);
+ }
+ else
+ {
+ if (selectionFeedbackFigure != null)
+ {
+ removeFeedback(selectionFeedbackFigure);
+ getHostFigure().removeFigureListener(getHostPositionListener());
+ selectionFeedbackFigure = null;
+ }
+ hideFocus();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void showFocus()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setFocus(true);
+ }
+ else
+ {
+ hideFocus();
+ addFeedback(focusFeedbackFigure = createFocusFeedbackFigure());
+ refreshFocusFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void hideFocus()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setFocus(false);
+ }
+ else
+ {
+ if (focusFeedbackFigure != null)
+ {
+ removeFeedback(focusFeedbackFigure);
+ focusFeedbackFigure = null;
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Rectangle getFeedbackBounds()
+ {
+ Rectangle bounds;
+ if (getHostFigure() instanceof Label)
+ {
+ bounds = ((Label)getHostFigure()).getTextBounds();
+ bounds.intersect(getHostFigure().getBounds());
+ }
+ else
+ {
+ bounds = getHostFigure().getBounds().getCopy();
+ }
+ getHostFigure().getParent().translateToAbsolute(bounds);
+ getFeedbackLayer().translateToRelative(bounds);
+ return bounds;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createSelectionFeedbackFigure()
+ {
+ if (getHostFigure() instanceof Label)
+ {
+ Label feedbackFigure = new Label();
+ feedbackFigure.setOpaque(true);
+ feedbackFigure.setBackgroundColor(ColorConstants.menuBackgroundSelected);
+ feedbackFigure.setForegroundColor(ColorConstants.menuForegroundSelected);
+ return feedbackFigure;
+ }
+ else
+ {
+ RectangleFigure feedbackFigure = new RectangleFigure();
+ feedbackFigure.setFill(false);
+ return feedbackFigure;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFocusFeedbackFigure()
+ {
+ return new Figure()
+ {
+
+ protected void paintFigure(Graphics graphics)
+ {
+ graphics.drawFocus(getBounds().getResized(-1, -1));
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ protected void updateLabel(Label target)
+ {
+ Label source = (Label)getHostFigure();
+ target.setText(source.getText());
+ target.setTextAlignment(source.getTextAlignment());
+ target.setFont(source.getFont());
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshSelectionFeedback()
+ {
+ if (selectionFeedbackFigure != null)
+ {
+ if (selectionFeedbackFigure instanceof Label)
+ {
+ updateLabel((Label)selectionFeedbackFigure);
+ selectionFeedbackFigure.setBounds(getFeedbackBounds());
+ }
+ else
+ {
+ selectionFeedbackFigure.setBounds(getFeedbackBounds().expand(5, 5));
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFocusFeedback()
+ {
+ if (focusFeedbackFigure != null)
+ {
+ focusFeedbackFigure.setBounds(getFeedbackBounds());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void refreshFeedback()
+ {
+ refreshSelectionFeedback();
+ refreshFocusFeedback();
+ }
+
+ /**
+ * @generated
+ */
+ private FigureListener getHostPositionListener()
+ {
+ if (hostPositionListener == null)
+ {
+ hostPositionListener = new FigureListener()
+ {
+ public void figureMoved(IFigure source)
+ {
+ refreshFeedback();
+ }
+ };
+ }
+ return hostPositionListener;
+ }
+
+ /**
+ * @generated
+ */
+ protected List createSelectionHandles()
+ {
+ MoveHandle moveHandle = new MoveHandle((GraphicalEditPart)getHost());
+ moveHandle.setBorder(null);
+ moveHandle.setDragTracker(new DragEditPartsTrackerEx(getHost()));
+ return Collections.singletonList(moveHandle);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextSelectionEditPolicy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextSelectionEditPolicy.java
index 70fc1ef77e..6cb7f14702 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextSelectionEditPolicy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/edit/policies/AcoreTextSelectionEditPolicy.java
@@ -1,264 +1,264 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.FigureListener;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.editpolicies.SelectionEditPolicy;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
-
-/**
- * @generated
- */
-public class AcoreTextSelectionEditPolicy extends SelectionEditPolicy
-{
-
- /**
- * @generated
- */
- private IFigure selectionFeedbackFigure;
-
- /**
- * @generated
- */
- private IFigure focusFeedbackFigure;
-
- /**
- * @generated
- */
- private FigureListener hostPositionListener;
-
- /**
- * @generated
- */
- protected void showPrimarySelection()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setSelected(true);
- ((WrappingLabel)getHostFigure()).setFocus(true);
- }
- else
- {
- showSelection();
- showFocus();
- }
- }
-
- /**
- * @generated
- */
- protected void showSelection()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setSelected(true);
- ((WrappingLabel)getHostFigure()).setFocus(false);
- }
- else
- {
- hideSelection();
- addFeedback(selectionFeedbackFigure = createSelectionFeedbackFigure());
- getHostFigure().addFigureListener(getHostPositionListener());
- refreshSelectionFeedback();
- hideFocus();
- }
- }
-
- /**
- * @generated
- */
- protected void hideSelection()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setSelected(false);
- ((WrappingLabel)getHostFigure()).setFocus(false);
- }
- else
- {
- if (selectionFeedbackFigure != null)
- {
- removeFeedback(selectionFeedbackFigure);
- getHostFigure().removeFigureListener(getHostPositionListener());
- selectionFeedbackFigure = null;
- }
- hideFocus();
- }
- }
-
- /**
- * @generated
- */
- protected void showFocus()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setFocus(true);
- }
- else
- {
- hideFocus();
- addFeedback(focusFeedbackFigure = createFocusFeedbackFigure());
- refreshFocusFeedback();
- }
- }
-
- /**
- * @generated
- */
- protected void hideFocus()
- {
- if (getHostFigure() instanceof WrappingLabel)
- {
- ((WrappingLabel)getHostFigure()).setFocus(false);
- }
- else
- {
- if (focusFeedbackFigure != null)
- {
- removeFeedback(focusFeedbackFigure);
- focusFeedbackFigure = null;
- }
- }
- }
-
- /**
- * @generated
- */
- protected Rectangle getFeedbackBounds()
- {
- Rectangle bounds;
- if (getHostFigure() instanceof Label)
- {
- bounds = ((Label)getHostFigure()).getTextBounds();
- bounds.intersect(getHostFigure().getBounds());
- }
- else
- {
- bounds = getHostFigure().getBounds().getCopy();
- }
- getHostFigure().getParent().translateToAbsolute(bounds);
- getFeedbackLayer().translateToRelative(bounds);
- return bounds;
- }
-
- /**
- * @generated
- */
- protected IFigure createSelectionFeedbackFigure()
- {
- if (getHostFigure() instanceof Label)
- {
- Label feedbackFigure = new Label();
- feedbackFigure.setOpaque(true);
- feedbackFigure.setBackgroundColor(ColorConstants.menuBackgroundSelected);
- feedbackFigure.setForegroundColor(ColorConstants.menuForegroundSelected);
- return feedbackFigure;
- }
- else
- {
- RectangleFigure feedbackFigure = new RectangleFigure();
- feedbackFigure.setFill(false);
- return feedbackFigure;
- }
- }
-
- /**
- * @generated
- */
- protected IFigure createFocusFeedbackFigure()
- {
- return new Figure()
- {
-
- protected void paintFigure(Graphics graphics)
- {
- graphics.drawFocus(getBounds().getResized(-1, -1));
- }
- };
- }
-
- /**
- * @generated
- */
- protected void updateLabel(Label target)
- {
- Label source = (Label)getHostFigure();
- target.setText(source.getText());
- target.setTextAlignment(source.getTextAlignment());
- target.setFont(source.getFont());
- }
-
- /**
- * @generated
- */
- protected void refreshSelectionFeedback()
- {
- if (selectionFeedbackFigure != null)
- {
- if (selectionFeedbackFigure instanceof Label)
- {
- updateLabel((Label)selectionFeedbackFigure);
- selectionFeedbackFigure.setBounds(getFeedbackBounds());
- }
- else
- {
- selectionFeedbackFigure.setBounds(getFeedbackBounds().expand(5, 5));
- }
- }
- }
-
- /**
- * @generated
- */
- protected void refreshFocusFeedback()
- {
- if (focusFeedbackFigure != null)
- {
- focusFeedbackFigure.setBounds(getFeedbackBounds());
- }
- }
-
- /**
- * @generated
- */
- public void refreshFeedback()
- {
- refreshSelectionFeedback();
- refreshFocusFeedback();
- }
-
- /**
- * @generated
- */
- private FigureListener getHostPositionListener()
- {
- if (hostPositionListener == null)
- {
- hostPositionListener = new FigureListener()
- {
- public void figureMoved(IFigure source)
- {
- refreshFeedback();
- }
- };
- }
- return hostPositionListener;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.policies;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.FigureListener;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.RectangleFigure;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.editpolicies.SelectionEditPolicy;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+
+/**
+ * @generated
+ */
+public class AcoreTextSelectionEditPolicy extends SelectionEditPolicy
+{
+
+ /**
+ * @generated
+ */
+ private IFigure selectionFeedbackFigure;
+
+ /**
+ * @generated
+ */
+ private IFigure focusFeedbackFigure;
+
+ /**
+ * @generated
+ */
+ private FigureListener hostPositionListener;
+
+ /**
+ * @generated
+ */
+ protected void showPrimarySelection()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setSelected(true);
+ ((WrappingLabel)getHostFigure()).setFocus(true);
+ }
+ else
+ {
+ showSelection();
+ showFocus();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void showSelection()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setSelected(true);
+ ((WrappingLabel)getHostFigure()).setFocus(false);
+ }
+ else
+ {
+ hideSelection();
+ addFeedback(selectionFeedbackFigure = createSelectionFeedbackFigure());
+ getHostFigure().addFigureListener(getHostPositionListener());
+ refreshSelectionFeedback();
+ hideFocus();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void hideSelection()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setSelected(false);
+ ((WrappingLabel)getHostFigure()).setFocus(false);
+ }
+ else
+ {
+ if (selectionFeedbackFigure != null)
+ {
+ removeFeedback(selectionFeedbackFigure);
+ getHostFigure().removeFigureListener(getHostPositionListener());
+ selectionFeedbackFigure = null;
+ }
+ hideFocus();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void showFocus()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setFocus(true);
+ }
+ else
+ {
+ hideFocus();
+ addFeedback(focusFeedbackFigure = createFocusFeedbackFigure());
+ refreshFocusFeedback();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void hideFocus()
+ {
+ if (getHostFigure() instanceof WrappingLabel)
+ {
+ ((WrappingLabel)getHostFigure()).setFocus(false);
+ }
+ else
+ {
+ if (focusFeedbackFigure != null)
+ {
+ removeFeedback(focusFeedbackFigure);
+ focusFeedbackFigure = null;
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected Rectangle getFeedbackBounds()
+ {
+ Rectangle bounds;
+ if (getHostFigure() instanceof Label)
+ {
+ bounds = ((Label)getHostFigure()).getTextBounds();
+ bounds.intersect(getHostFigure().getBounds());
+ }
+ else
+ {
+ bounds = getHostFigure().getBounds().getCopy();
+ }
+ getHostFigure().getParent().translateToAbsolute(bounds);
+ getFeedbackLayer().translateToRelative(bounds);
+ return bounds;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createSelectionFeedbackFigure()
+ {
+ if (getHostFigure() instanceof Label)
+ {
+ Label feedbackFigure = new Label();
+ feedbackFigure.setOpaque(true);
+ feedbackFigure.setBackgroundColor(ColorConstants.menuBackgroundSelected);
+ feedbackFigure.setForegroundColor(ColorConstants.menuForegroundSelected);
+ return feedbackFigure;
+ }
+ else
+ {
+ RectangleFigure feedbackFigure = new RectangleFigure();
+ feedbackFigure.setFill(false);
+ return feedbackFigure;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createFocusFeedbackFigure()
+ {
+ return new Figure()
+ {
+
+ protected void paintFigure(Graphics graphics)
+ {
+ graphics.drawFocus(getBounds().getResized(-1, -1));
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ protected void updateLabel(Label target)
+ {
+ Label source = (Label)getHostFigure();
+ target.setText(source.getText());
+ target.setTextAlignment(source.getTextAlignment());
+ target.setFont(source.getFont());
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshSelectionFeedback()
+ {
+ if (selectionFeedbackFigure != null)
+ {
+ if (selectionFeedbackFigure instanceof Label)
+ {
+ updateLabel((Label)selectionFeedbackFigure);
+ selectionFeedbackFigure.setBounds(getFeedbackBounds());
+ }
+ else
+ {
+ selectionFeedbackFigure.setBounds(getFeedbackBounds().expand(5, 5));
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void refreshFocusFeedback()
+ {
+ if (focusFeedbackFigure != null)
+ {
+ focusFeedbackFigure.setBounds(getFeedbackBounds());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void refreshFeedback()
+ {
+ refreshSelectionFeedback();
+ refreshFocusFeedback();
+ }
+
+ /**
+ * @generated
+ */
+ private FigureListener getHostPositionListener()
+ {
+ if (hostPositionListener == null)
+ {
+ hostPositionListener = new FigureListener()
+ {
+ public void figureMoved(IFigure source)
+ {
+ refreshFeedback();
+ }
+ };
+ }
+ return hostPositionListener;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreAbstractNavigatorItem.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreAbstractNavigatorItem.java
index b530291079..0749249ecd 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreAbstractNavigatorItem.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreAbstractNavigatorItem.java
@@ -1,79 +1,79 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-
-/**
- * @generated
- */
-public abstract class AcoreAbstractNavigatorItem extends PlatformObject
-{
-
- /**
- * @generated
- */
- static
- {
- final Class[] supportedTypes = new Class[] { ITabbedPropertySheetPageContributor.class };
- final ITabbedPropertySheetPageContributor propertySheetPageContributor = new ITabbedPropertySheetPageContributor()
- {
- public String getContributorId()
- {
- return "org.eclipse.emf.cdo.dawn.examples.acore.diagram"; //$NON-NLS-1$
- }
- };
- Platform.getAdapterManager().registerAdapters(new IAdapterFactory()
- {
-
- public Object getAdapter(Object adaptableObject, Class adapterType)
- {
- if (adaptableObject instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem
- && adapterType == ITabbedPropertySheetPageContributor.class)
- {
- return propertySheetPageContributor;
- }
- return null;
- }
-
- public Class[] getAdapterList()
- {
- return supportedTypes;
- }
- }, org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem.class);
- }
-
- /**
- * @generated
- */
- private Object myParent;
-
- /**
- * @generated
- */
- protected AcoreAbstractNavigatorItem(Object parent)
- {
- myParent = parent;
- }
-
- /**
- * @generated
- */
- public Object getParent()
- {
- return myParent;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
+
+/**
+ * @generated
+ */
+public abstract class AcoreAbstractNavigatorItem extends PlatformObject
+{
+
+ /**
+ * @generated
+ */
+ static
+ {
+ final Class[] supportedTypes = new Class[] { ITabbedPropertySheetPageContributor.class };
+ final ITabbedPropertySheetPageContributor propertySheetPageContributor = new ITabbedPropertySheetPageContributor()
+ {
+ public String getContributorId()
+ {
+ return "org.eclipse.emf.cdo.dawn.examples.acore.diagram"; //$NON-NLS-1$
+ }
+ };
+ Platform.getAdapterManager().registerAdapters(new IAdapterFactory()
+ {
+
+ public Object getAdapter(Object adaptableObject, Class adapterType)
+ {
+ if (adaptableObject instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem
+ && adapterType == ITabbedPropertySheetPageContributor.class)
+ {
+ return propertySheetPageContributor;
+ }
+ return null;
+ }
+
+ public Class[] getAdapterList()
+ {
+ return supportedTypes;
+ }
+ }, org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreAbstractNavigatorItem.class);
+ }
+
+ /**
+ * @generated
+ */
+ private Object myParent;
+
+ /**
+ * @generated
+ */
+ protected AcoreAbstractNavigatorItem(Object parent)
+ {
+ myParent = parent;
+ }
+
+ /**
+ * @generated
+ */
+ public Object getParent()
+ {
+ return myParent;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorContentProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorContentProvider.java
index 3a735ba6b7..5fb1a08d9e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorContentProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorContentProvider.java
@@ -1,265 +1,265 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonContentProvider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AcoreDomainNavigatorContentProvider implements ICommonContentProvider
-{
-
- /**
- * @generated
- */
- private AdapterFactoryContentProvider myAdapterFctoryContentProvier;
-
- /**
- * @generated
- */
- private static final Object[] EMPTY_ARRAY = new Object[0];
-
- /**
- * @generated
- */
- private Viewer myViewer;
-
- /**
- * @generated
- */
- private AdapterFactoryEditingDomain myEditingDomain;
-
- /**
- * @generated
- */
- private WorkspaceSynchronizer myWorkspaceSynchronizer;
-
- /**
- * @generated
- */
- private Runnable myViewerRefreshRunnable;
-
- /**
- * @generated
- */
- public AcoreDomainNavigatorContentProvider()
- {
- myAdapterFctoryContentProvier = new AdapterFactoryContentProvider(AcoreDiagramEditorPlugin.getInstance()
- .getItemProvidersAdapterFactory());
- TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
- myEditingDomain = (AdapterFactoryEditingDomain)editingDomain;
- myEditingDomain.setResourceToReadOnlyMap(new HashMap()
- {
- public Object get(Object key)
- {
- if (!containsKey(key))
- {
- put(key, Boolean.TRUE);
- }
- return super.get(key);
- }
- });
- myViewerRefreshRunnable = new Runnable()
- {
- public void run()
- {
- if (myViewer != null)
- {
- myViewer.refresh();
- }
- }
- };
- myWorkspaceSynchronizer = new WorkspaceSynchronizer(editingDomain, new WorkspaceSynchronizer.Delegate()
- {
- public void dispose()
- {
- }
-
- public boolean handleResourceChanged(final Resource resource)
- {
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource nextResource = (Resource)it.next();
- nextResource.unload();
- }
- if (myViewer != null)
- {
- myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
- }
- return true;
- }
-
- public boolean handleResourceDeleted(Resource resource)
- {
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource nextResource = (Resource)it.next();
- nextResource.unload();
- }
- if (myViewer != null)
- {
- myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
- }
- return true;
- }
-
- public boolean handleResourceMoved(Resource resource, final URI newURI)
- {
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource nextResource = (Resource)it.next();
- nextResource.unload();
- }
- if (myViewer != null)
- {
- myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
- }
- return true;
- }
- });
- }
-
- /**
- * @generated
- */
- public void dispose()
- {
- myWorkspaceSynchronizer.dispose();
- myWorkspaceSynchronizer = null;
- myViewerRefreshRunnable = null;
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource resource = (Resource)it.next();
- resource.unload();
- }
- ((TransactionalEditingDomain)myEditingDomain).dispose();
- myEditingDomain = null;
- }
-
- /**
- * @generated
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- myViewer = viewer;
- }
-
- /**
- * @generated
- */
- public Object[] getElements(Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- /**
- * @generated
- */
- public void restoreState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public void saveState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public void init(ICommonContentExtensionSite aConfig)
- {
- }
-
- /**
- * @generated
- */
- public Object[] getChildren(Object parentElement)
- {
- if (parentElement instanceof IFile)
- {
- IFile file = (IFile)parentElement;
- URI fileURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
- Resource resource = myEditingDomain.getResourceSet().getResource(fileURI, true);
- return wrapEObjects(myAdapterFctoryContentProvier.getChildren(resource), parentElement);
- }
-
- if (parentElement instanceof AcoreDomainNavigatorItem)
- {
- return wrapEObjects(
- myAdapterFctoryContentProvier.getChildren(((AcoreDomainNavigatorItem)parentElement).getEObject()),
- parentElement);
- }
- return EMPTY_ARRAY;
- }
-
- /**
- * @generated
- */
- public Object[] wrapEObjects(Object[] objects, Object parentElement)
- {
- Collection result = new ArrayList();
- for (int i = 0; i < objects.length; i++)
- {
- if (objects[i] instanceof EObject)
- {
- result.add(new AcoreDomainNavigatorItem((EObject)objects[i], parentElement, myAdapterFctoryContentProvier));
- }
- }
- return result.toArray();
- }
-
- /**
- * @generated
- */
- public Object getParent(Object element)
- {
- if (element instanceof AcoreAbstractNavigatorItem)
- {
- AcoreAbstractNavigatorItem abstractNavigatorItem = (AcoreAbstractNavigatorItem)element;
- return abstractNavigatorItem.getParent();
- }
- return null;
- }
-
- /**
- * @generated
- */
- public boolean hasChildren(Object element)
- {
- return element instanceof IFile || getChildren(element).length > 0;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.navigator.ICommonContentExtensionSite;
+import org.eclipse.ui.navigator.ICommonContentProvider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AcoreDomainNavigatorContentProvider implements ICommonContentProvider
+{
+
+ /**
+ * @generated
+ */
+ private AdapterFactoryContentProvider myAdapterFctoryContentProvier;
+
+ /**
+ * @generated
+ */
+ private static final Object[] EMPTY_ARRAY = new Object[0];
+
+ /**
+ * @generated
+ */
+ private Viewer myViewer;
+
+ /**
+ * @generated
+ */
+ private AdapterFactoryEditingDomain myEditingDomain;
+
+ /**
+ * @generated
+ */
+ private WorkspaceSynchronizer myWorkspaceSynchronizer;
+
+ /**
+ * @generated
+ */
+ private Runnable myViewerRefreshRunnable;
+
+ /**
+ * @generated
+ */
+ public AcoreDomainNavigatorContentProvider()
+ {
+ myAdapterFctoryContentProvier = new AdapterFactoryContentProvider(AcoreDiagramEditorPlugin.getInstance()
+ .getItemProvidersAdapterFactory());
+ TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
+ myEditingDomain = (AdapterFactoryEditingDomain)editingDomain;
+ myEditingDomain.setResourceToReadOnlyMap(new HashMap()
+ {
+ public Object get(Object key)
+ {
+ if (!containsKey(key))
+ {
+ put(key, Boolean.TRUE);
+ }
+ return super.get(key);
+ }
+ });
+ myViewerRefreshRunnable = new Runnable()
+ {
+ public void run()
+ {
+ if (myViewer != null)
+ {
+ myViewer.refresh();
+ }
+ }
+ };
+ myWorkspaceSynchronizer = new WorkspaceSynchronizer(editingDomain, new WorkspaceSynchronizer.Delegate()
+ {
+ public void dispose()
+ {
+ }
+
+ public boolean handleResourceChanged(final Resource resource)
+ {
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource nextResource = (Resource)it.next();
+ nextResource.unload();
+ }
+ if (myViewer != null)
+ {
+ myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
+ }
+ return true;
+ }
+
+ public boolean handleResourceDeleted(Resource resource)
+ {
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource nextResource = (Resource)it.next();
+ nextResource.unload();
+ }
+ if (myViewer != null)
+ {
+ myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
+ }
+ return true;
+ }
+
+ public boolean handleResourceMoved(Resource resource, final URI newURI)
+ {
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource nextResource = (Resource)it.next();
+ nextResource.unload();
+ }
+ if (myViewer != null)
+ {
+ myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
+ }
+ return true;
+ }
+ });
+ }
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ myWorkspaceSynchronizer.dispose();
+ myWorkspaceSynchronizer = null;
+ myViewerRefreshRunnable = null;
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource resource = (Resource)it.next();
+ resource.unload();
+ }
+ ((TransactionalEditingDomain)myEditingDomain).dispose();
+ myEditingDomain = null;
+ }
+
+ /**
+ * @generated
+ */
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
+ {
+ myViewer = viewer;
+ }
+
+ /**
+ * @generated
+ */
+ public Object[] getElements(Object inputElement)
+ {
+ return getChildren(inputElement);
+ }
+
+ /**
+ * @generated
+ */
+ public void restoreState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void saveState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void init(ICommonContentExtensionSite aConfig)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public Object[] getChildren(Object parentElement)
+ {
+ if (parentElement instanceof IFile)
+ {
+ IFile file = (IFile)parentElement;
+ URI fileURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+ Resource resource = myEditingDomain.getResourceSet().getResource(fileURI, true);
+ return wrapEObjects(myAdapterFctoryContentProvier.getChildren(resource), parentElement);
+ }
+
+ if (parentElement instanceof AcoreDomainNavigatorItem)
+ {
+ return wrapEObjects(
+ myAdapterFctoryContentProvier.getChildren(((AcoreDomainNavigatorItem)parentElement).getEObject()),
+ parentElement);
+ }
+ return EMPTY_ARRAY;
+ }
+
+ /**
+ * @generated
+ */
+ public Object[] wrapEObjects(Object[] objects, Object parentElement)
+ {
+ Collection result = new ArrayList();
+ for (int i = 0; i < objects.length; i++)
+ {
+ if (objects[i] instanceof EObject)
+ {
+ result.add(new AcoreDomainNavigatorItem((EObject)objects[i], parentElement, myAdapterFctoryContentProvier));
+ }
+ }
+ return result.toArray();
+ }
+
+ /**
+ * @generated
+ */
+ public Object getParent(Object element)
+ {
+ if (element instanceof AcoreAbstractNavigatorItem)
+ {
+ AcoreAbstractNavigatorItem abstractNavigatorItem = (AcoreAbstractNavigatorItem)element;
+ return abstractNavigatorItem.getParent();
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean hasChildren(Object element)
+ {
+ return element instanceof IFile || getChildren(element).length > 0;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorItem.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorItem.java
index 6c1413451c..2c5a476ba2 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorItem.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorItem.java
@@ -1,135 +1,135 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-
-/**
- * @generated
- */
-public class AcoreDomainNavigatorItem extends PlatformObject
-{
-
- /**
- * @generated
- */
- static
- {
- final Class[] supportedTypes = new Class[] { EObject.class, IPropertySource.class };
- Platform.getAdapterManager().registerAdapters(new IAdapterFactory()
- {
-
- public Object getAdapter(Object adaptableObject, Class adapterType)
- {
- if (adaptableObject instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)
- {
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem domainNavigatorItem = (org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)adaptableObject;
- EObject eObject = domainNavigatorItem.getEObject();
- if (adapterType == EObject.class)
- {
- return eObject;
- }
- if (adapterType == IPropertySource.class)
- {
- return domainNavigatorItem.getPropertySourceProvider().getPropertySource(eObject);
- }
- }
-
- return null;
- }
-
- public Class[] getAdapterList()
- {
- return supportedTypes;
- }
- }, org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem.class);
- }
-
- /**
- * @generated
- */
- private Object myParent;
-
- /**
- * @generated
- */
- private EObject myEObject;
-
- /**
- * @generated
- */
- private IPropertySourceProvider myPropertySourceProvider;
-
- /**
- * @generated
- */
- public AcoreDomainNavigatorItem(EObject eObject, Object parent, IPropertySourceProvider propertySourceProvider)
- {
- myParent = parent;
- myEObject = eObject;
- myPropertySourceProvider = propertySourceProvider;
- }
-
- /**
- * @generated
- */
- public Object getParent()
- {
- return myParent;
- }
-
- /**
- * @generated
- */
- public EObject getEObject()
- {
- return myEObject;
- }
-
- /**
- * @generated
- */
- public IPropertySourceProvider getPropertySourceProvider()
- {
- return myPropertySourceProvider;
- }
-
- /**
- * @generated
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)
- {
- return EcoreUtil.getURI(getEObject()).equals(
- EcoreUtil.getURI(((org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)obj)
- .getEObject()));
- }
- return super.equals(obj);
- }
-
- /**
- * @generated
- */
- public int hashCode()
- {
- return EcoreUtil.getURI(getEObject()).hashCode();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.IPropertySourceProvider;
+
+/**
+ * @generated
+ */
+public class AcoreDomainNavigatorItem extends PlatformObject
+{
+
+ /**
+ * @generated
+ */
+ static
+ {
+ final Class[] supportedTypes = new Class[] { EObject.class, IPropertySource.class };
+ Platform.getAdapterManager().registerAdapters(new IAdapterFactory()
+ {
+
+ public Object getAdapter(Object adaptableObject, Class adapterType)
+ {
+ if (adaptableObject instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)
+ {
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem domainNavigatorItem = (org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)adaptableObject;
+ EObject eObject = domainNavigatorItem.getEObject();
+ if (adapterType == EObject.class)
+ {
+ return eObject;
+ }
+ if (adapterType == IPropertySource.class)
+ {
+ return domainNavigatorItem.getPropertySourceProvider().getPropertySource(eObject);
+ }
+ }
+
+ return null;
+ }
+
+ public Class[] getAdapterList()
+ {
+ return supportedTypes;
+ }
+ }, org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem.class);
+ }
+
+ /**
+ * @generated
+ */
+ private Object myParent;
+
+ /**
+ * @generated
+ */
+ private EObject myEObject;
+
+ /**
+ * @generated
+ */
+ private IPropertySourceProvider myPropertySourceProvider;
+
+ /**
+ * @generated
+ */
+ public AcoreDomainNavigatorItem(EObject eObject, Object parent, IPropertySourceProvider propertySourceProvider)
+ {
+ myParent = parent;
+ myEObject = eObject;
+ myPropertySourceProvider = propertySourceProvider;
+ }
+
+ /**
+ * @generated
+ */
+ public Object getParent()
+ {
+ return myParent;
+ }
+
+ /**
+ * @generated
+ */
+ public EObject getEObject()
+ {
+ return myEObject;
+ }
+
+ /**
+ * @generated
+ */
+ public IPropertySourceProvider getPropertySourceProvider()
+ {
+ return myPropertySourceProvider;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)
+ {
+ return EcoreUtil.getURI(getEObject()).equals(
+ EcoreUtil.getURI(((org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreDomainNavigatorItem)obj)
+ .getEObject()));
+ }
+ return super.equals(obj);
+ }
+
+ /**
+ * @generated
+ */
+ public int hashCode()
+ {
+ return EcoreUtil.getURI(getEObject()).hashCode();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorLabelProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorLabelProvider.java
index f03bd4d2d0..f9bf6967d5 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorLabelProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreDomainNavigatorLabelProvider.java
@@ -1,121 +1,121 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonLabelProvider;
-
-/**
- * @generated
- */
-public class AcoreDomainNavigatorLabelProvider implements ICommonLabelProvider
-{
-
- /**
- * @generated
- */
- private AdapterFactoryLabelProvider myAdapterFactoryLabelProvider = new AdapterFactoryLabelProvider(
- AcoreDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory());
-
- /**
- * @generated
- */
- public void init(ICommonContentExtensionSite aConfig)
- {
- }
-
- /**
- * @generated
- */
- public Image getImage(Object element)
- {
- if (element instanceof AcoreDomainNavigatorItem)
- {
- return myAdapterFactoryLabelProvider.getImage(((AcoreDomainNavigatorItem)element).getEObject());
- }
- return null;
- }
-
- /**
- * @generated
- */
- public String getText(Object element)
- {
- if (element instanceof AcoreDomainNavigatorItem)
- {
- return myAdapterFactoryLabelProvider.getText(((AcoreDomainNavigatorItem)element).getEObject());
- }
- return null;
- }
-
- /**
- * @generated
- */
- public void addListener(ILabelProviderListener listener)
- {
- myAdapterFactoryLabelProvider.addListener(listener);
- }
-
- /**
- * @generated
- */
- public void dispose()
- {
- myAdapterFactoryLabelProvider.dispose();
- }
-
- /**
- * @generated
- */
- public boolean isLabelProperty(Object element, String property)
- {
- return myAdapterFactoryLabelProvider.isLabelProperty(element, property);
- }
-
- /**
- * @generated
- */
- public void removeListener(ILabelProviderListener listener)
- {
- myAdapterFactoryLabelProvider.removeListener(listener);
- }
-
- /**
- * @generated
- */
- public void restoreState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public void saveState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public String getDescription(Object anElement)
- {
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.navigator.ICommonContentExtensionSite;
+import org.eclipse.ui.navigator.ICommonLabelProvider;
+
+/**
+ * @generated
+ */
+public class AcoreDomainNavigatorLabelProvider implements ICommonLabelProvider
+{
+
+ /**
+ * @generated
+ */
+ private AdapterFactoryLabelProvider myAdapterFactoryLabelProvider = new AdapterFactoryLabelProvider(
+ AcoreDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory());
+
+ /**
+ * @generated
+ */
+ public void init(ICommonContentExtensionSite aConfig)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public Image getImage(Object element)
+ {
+ if (element instanceof AcoreDomainNavigatorItem)
+ {
+ return myAdapterFactoryLabelProvider.getImage(((AcoreDomainNavigatorItem)element).getEObject());
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public String getText(Object element)
+ {
+ if (element instanceof AcoreDomainNavigatorItem)
+ {
+ return myAdapterFactoryLabelProvider.getText(((AcoreDomainNavigatorItem)element).getEObject());
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public void addListener(ILabelProviderListener listener)
+ {
+ myAdapterFactoryLabelProvider.addListener(listener);
+ }
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ myAdapterFactoryLabelProvider.dispose();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isLabelProperty(Object element, String property)
+ {
+ return myAdapterFactoryLabelProvider.isLabelProperty(element, property);
+ }
+
+ /**
+ * @generated
+ */
+ public void removeListener(ILabelProviderListener listener)
+ {
+ myAdapterFactoryLabelProvider.removeListener(listener);
+ }
+
+ /**
+ * @generated
+ */
+ public void restoreState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void saveState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public String getDescription(Object anElement)
+ {
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorActionProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorActionProvider.java
index d4984d5a16..efaace3fd6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorActionProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorActionProvider.java
@@ -1,210 +1,210 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.ui.URIEditorInput;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.navigator.CommonActionProvider;
-import org.eclipse.ui.navigator.ICommonActionConstants;
-import org.eclipse.ui.navigator.ICommonActionExtensionSite;
-import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite;
-import org.eclipse.ui.part.FileEditorInput;
-
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AcoreNavigatorActionProvider extends CommonActionProvider
-{
-
- /**
- * @generated
- */
- private boolean myContribute;
-
- /**
- * @generated
- */
- private OpenDiagramAction myOpenDiagramAction;
-
- /**
- * @generated
- */
- public void init(ICommonActionExtensionSite aSite)
- {
- super.init(aSite);
- if (aSite.getViewSite() instanceof ICommonViewerWorkbenchSite)
- {
- myContribute = true;
- makeActions((ICommonViewerWorkbenchSite)aSite.getViewSite());
- }
- else
- {
- myContribute = false;
- }
- }
-
- /**
- * @generated
- */
- private void makeActions(ICommonViewerWorkbenchSite viewerSite)
- {
- myOpenDiagramAction = new OpenDiagramAction(viewerSite);
- }
-
- /**
- * @generated
- */
- public void fillActionBars(IActionBars actionBars)
- {
- if (!myContribute)
- {
- return;
- }
- IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
- myOpenDiagramAction.selectionChanged(selection);
- if (myOpenDiagramAction.isEnabled())
- {
- actionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, myOpenDiagramAction);
- }
- }
-
- /**
- * @generated
- */
- public void fillContextMenu(IMenuManager menu)
- {
- }
-
- /**
- * @generated
- */
- private class OpenDiagramAction extends Action
- {
-
- /**
- * @generated
- */
- private Diagram myDiagram;
-
- /**
- * @generated
- */
- private ICommonViewerWorkbenchSite myViewerSite;
-
- /**
- * @generated
- */
- public OpenDiagramAction(ICommonViewerWorkbenchSite viewerSite)
- {
- super(Messages.NavigatorActionProvider_OpenDiagramActionName);
- myViewerSite = viewerSite;
- }
-
- /**
- * @generated
- */
- public final void selectionChanged(IStructuredSelection selection)
- {
- myDiagram = null;
- if (selection.size() == 1)
- {
- Object selectedElement = selection.getFirstElement();
- if (selectedElement instanceof AcoreNavigatorItem)
- {
- selectedElement = ((AcoreNavigatorItem)selectedElement).getView();
- }
- else if (selectedElement instanceof IAdaptable)
- {
- selectedElement = ((IAdaptable)selectedElement).getAdapter(View.class);
- }
- if (selectedElement instanceof Diagram)
- {
- Diagram diagram = (Diagram)selectedElement;
- if (ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(diagram)))
- {
- myDiagram = diagram;
- }
- }
- }
- setEnabled(myDiagram != null);
- }
-
- /**
- * @generated
- */
- public void run()
- {
- if (myDiagram == null || myDiagram.eResource() == null)
- {
- return;
- }
-
- IEditorInput editorInput = getEditorInput();
- IWorkbenchPage page = myViewerSite.getPage();
- try
- {
- page.openEditor(editorInput, AcoreDiagramEditor.ID);
- }
- catch (PartInitException e)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Exception while openning diagram", e); //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private IEditorInput getEditorInput()
- {
- for (Iterator it = myDiagram.eResource().getContents().iterator(); it.hasNext();)
- {
- EObject nextEObject = (EObject)it.next();
- if (nextEObject == myDiagram)
- {
- return new FileEditorInput(WorkspaceSynchronizer.getFile(myDiagram.eResource()));
- }
- if (nextEObject instanceof Diagram)
- {
- break;
- }
- }
- URI uri = EcoreUtil.getURI(myDiagram);
- String editorName = uri.lastSegment() + "#" + myDiagram.eResource().getContents().indexOf(myDiagram); //$NON-NLS-1$
- IEditorInput editorInput = new URIEditorInput(uri, editorName);
- return editorInput;
- }
-
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.navigator.CommonActionProvider;
+import org.eclipse.ui.navigator.ICommonActionConstants;
+import org.eclipse.ui.navigator.ICommonActionExtensionSite;
+import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite;
+import org.eclipse.ui.part.FileEditorInput;
+
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorActionProvider extends CommonActionProvider
+{
+
+ /**
+ * @generated
+ */
+ private boolean myContribute;
+
+ /**
+ * @generated
+ */
+ private OpenDiagramAction myOpenDiagramAction;
+
+ /**
+ * @generated
+ */
+ public void init(ICommonActionExtensionSite aSite)
+ {
+ super.init(aSite);
+ if (aSite.getViewSite() instanceof ICommonViewerWorkbenchSite)
+ {
+ myContribute = true;
+ makeActions((ICommonViewerWorkbenchSite)aSite.getViewSite());
+ }
+ else
+ {
+ myContribute = false;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private void makeActions(ICommonViewerWorkbenchSite viewerSite)
+ {
+ myOpenDiagramAction = new OpenDiagramAction(viewerSite);
+ }
+
+ /**
+ * @generated
+ */
+ public void fillActionBars(IActionBars actionBars)
+ {
+ if (!myContribute)
+ {
+ return;
+ }
+ IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
+ myOpenDiagramAction.selectionChanged(selection);
+ if (myOpenDiagramAction.isEnabled())
+ {
+ actionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, myOpenDiagramAction);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void fillContextMenu(IMenuManager menu)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ private class OpenDiagramAction extends Action
+ {
+
+ /**
+ * @generated
+ */
+ private Diagram myDiagram;
+
+ /**
+ * @generated
+ */
+ private ICommonViewerWorkbenchSite myViewerSite;
+
+ /**
+ * @generated
+ */
+ public OpenDiagramAction(ICommonViewerWorkbenchSite viewerSite)
+ {
+ super(Messages.NavigatorActionProvider_OpenDiagramActionName);
+ myViewerSite = viewerSite;
+ }
+
+ /**
+ * @generated
+ */
+ public final void selectionChanged(IStructuredSelection selection)
+ {
+ myDiagram = null;
+ if (selection.size() == 1)
+ {
+ Object selectedElement = selection.getFirstElement();
+ if (selectedElement instanceof AcoreNavigatorItem)
+ {
+ selectedElement = ((AcoreNavigatorItem)selectedElement).getView();
+ }
+ else if (selectedElement instanceof IAdaptable)
+ {
+ selectedElement = ((IAdaptable)selectedElement).getAdapter(View.class);
+ }
+ if (selectedElement instanceof Diagram)
+ {
+ Diagram diagram = (Diagram)selectedElement;
+ if (ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(diagram)))
+ {
+ myDiagram = diagram;
+ }
+ }
+ }
+ setEnabled(myDiagram != null);
+ }
+
+ /**
+ * @generated
+ */
+ public void run()
+ {
+ if (myDiagram == null || myDiagram.eResource() == null)
+ {
+ return;
+ }
+
+ IEditorInput editorInput = getEditorInput();
+ IWorkbenchPage page = myViewerSite.getPage();
+ try
+ {
+ page.openEditor(editorInput, AcoreDiagramEditor.ID);
+ }
+ catch (PartInitException e)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Exception while openning diagram", e); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private IEditorInput getEditorInput()
+ {
+ for (Iterator it = myDiagram.eResource().getContents().iterator(); it.hasNext();)
+ {
+ EObject nextEObject = (EObject)it.next();
+ if (nextEObject == myDiagram)
+ {
+ return new FileEditorInput(WorkspaceSynchronizer.getFile(myDiagram.eResource()));
+ }
+ if (nextEObject instanceof Diagram)
+ {
+ break;
+ }
+ }
+ URI uri = EcoreUtil.getURI(myDiagram);
+ String editorName = uri.lastSegment() + "#" + myDiagram.eResource().getContents().indexOf(myDiagram); //$NON-NLS-1$
+ IEditorInput editorInput = new URIEditorInput(uri, editorName);
+ return editorInput;
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorContentProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorContentProvider.java
index 7acc42fcbd..8832ec907c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorContentProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorContentProvider.java
@@ -1,667 +1,667 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonContentProvider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-/**
- * @generated
- */
-public class AcoreNavigatorContentProvider implements ICommonContentProvider
-{
-
- /**
- * @generated
- */
- private static final Object[] EMPTY_ARRAY = new Object[0];
-
- /**
- * @generated
- */
- private Viewer myViewer;
-
- /**
- * @generated
- */
- private AdapterFactoryEditingDomain myEditingDomain;
-
- /**
- * @generated
- */
- private WorkspaceSynchronizer myWorkspaceSynchronizer;
-
- /**
- * @generated
- */
- private Runnable myViewerRefreshRunnable;
-
- /**
- * @generated
- */
- public AcoreNavigatorContentProvider()
- {
- TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
- myEditingDomain = (AdapterFactoryEditingDomain)editingDomain;
- myEditingDomain.setResourceToReadOnlyMap(new HashMap()
- {
- public Object get(Object key)
- {
- if (!containsKey(key))
- {
- put(key, Boolean.TRUE);
- }
- return super.get(key);
- }
- });
- myViewerRefreshRunnable = new Runnable()
- {
- public void run()
- {
- if (myViewer != null)
- {
- myViewer.refresh();
- }
- }
- };
- myWorkspaceSynchronizer = new WorkspaceSynchronizer(editingDomain, new WorkspaceSynchronizer.Delegate()
- {
- public void dispose()
- {
- }
-
- public boolean handleResourceChanged(final Resource resource)
- {
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource nextResource = (Resource)it.next();
- nextResource.unload();
- }
- if (myViewer != null)
- {
- myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
- }
- return true;
- }
-
- public boolean handleResourceDeleted(Resource resource)
- {
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource nextResource = (Resource)it.next();
- nextResource.unload();
- }
- if (myViewer != null)
- {
- myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
- }
- return true;
- }
-
- public boolean handleResourceMoved(Resource resource, final URI newURI)
- {
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource nextResource = (Resource)it.next();
- nextResource.unload();
- }
- if (myViewer != null)
- {
- myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
- }
- return true;
- }
- });
- }
-
- /**
- * @generated
- */
- public void dispose()
- {
- myWorkspaceSynchronizer.dispose();
- myWorkspaceSynchronizer = null;
- myViewerRefreshRunnable = null;
- for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
- {
- Resource resource = (Resource)it.next();
- resource.unload();
- }
- ((TransactionalEditingDomain)myEditingDomain).dispose();
- myEditingDomain = null;
- }
-
- /**
- * @generated
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- myViewer = viewer;
- }
-
- /**
- * @generated
- */
- public Object[] getElements(Object inputElement)
- {
- return getChildren(inputElement);
- }
-
- /**
- * @generated
- */
- public void restoreState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public void saveState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public void init(ICommonContentExtensionSite aConfig)
- {
- }
-
- /**
- * @generated
- */
- public Object[] getChildren(Object parentElement)
- {
- if (parentElement instanceof IFile)
- {
- IFile file = (IFile)parentElement;
- URI fileURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
- Resource resource = myEditingDomain.getResourceSet().getResource(fileURI, true);
- ArrayList<AcoreNavigatorItem> result = new ArrayList<AcoreNavigatorItem>();
- ArrayList<View> topViews = new ArrayList<View>(resource.getContents().size());
- for (Iterator<EObject> it = resource.getContents().iterator(); it.hasNext();)
- {
- EObject o = it.next();
- if (o instanceof View)
- {
- topViews.add((View)o);
- }
- }
- result.addAll(createNavigatorItems(selectViewsByType(topViews, ACoreRootEditPart.MODEL_ID), file, false));
- return result.toArray();
- }
-
- if (parentElement instanceof AcoreNavigatorGroup)
- {
- AcoreNavigatorGroup group = (AcoreNavigatorGroup)parentElement;
- return group.getChildren();
- }
-
- if (parentElement instanceof AcoreNavigatorItem)
- {
- AcoreNavigatorItem navigatorItem = (AcoreNavigatorItem)parentElement;
- if (navigatorItem.isLeaf() || !isOwnView(navigatorItem.getView()))
- {
- return EMPTY_ARRAY;
- }
- return getViewChildren(navigatorItem.getView(), parentElement);
- }
-
- return EMPTY_ARRAY;
- }
-
- /**
- * @generated
- */
- private Object[] getViewChildren(View view, Object parentElement)
- {
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
-
- case AClassSubClassesEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassSubClasses_4001_target,
- "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassSubClasses_4001_source,
- "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getLinksTargetByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- target.addChildren(createNavigatorItems(connectedViews, target, true));
- connectedViews = getLinksSourceByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- source.addChildren(createNavigatorItems(connectedViews, source, true));
- if (!target.isEmpty())
- {
- result.add(target);
- }
- if (!source.isEmpty())
- {
- result.add(source);
- }
- return result.toArray();
- }
-
- case AClassCompositionsEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassCompositions_4005_target,
- "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassCompositions_4005_source,
- "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getLinksTargetByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- target.addChildren(createNavigatorItems(connectedViews, target, true));
- connectedViews = getLinksSourceByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- source.addChildren(createNavigatorItems(connectedViews, source, true));
- if (!target.isEmpty())
- {
- result.add(target);
- }
- if (!source.isEmpty())
- {
- result.add(source);
- }
- return result.toArray();
- }
-
- case AInterfaceEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup incominglinks = new AcoreNavigatorGroup(
- Messages.NavigatorGroupName_AInterface_2001_incominglinks,
- "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getChildrenByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID));
- connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AAttributeEditPart.VISUAL_ID));
- result.addAll(createNavigatorItems(connectedViews, parentElement, false));
- connectedViews = getChildrenByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID));
- connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AOperationEditPart.VISUAL_ID));
- result.addAll(createNavigatorItems(connectedViews, parentElement, false));
- connectedViews = getIncomingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
- incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
- if (!incominglinks.isEmpty())
- {
- result.add(incominglinks);
- }
- return result.toArray();
- }
-
- case AClassAggregationsEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAggregations_4004_target,
- "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAggregations_4004_source,
- "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getLinksTargetByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- target.addChildren(createNavigatorItems(connectedViews, target, true));
- connectedViews = getLinksSourceByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- source.addChildren(createNavigatorItems(connectedViews, source, true));
- if (!target.isEmpty())
- {
- result.add(target);
- }
- if (!source.isEmpty())
- {
- result.add(source);
- }
- return result.toArray();
- }
-
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup target = new AcoreNavigatorGroup(
- Messages.NavigatorGroupName_AClassImplementedInterfaces_4002_target,
- "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- AcoreNavigatorGroup source = new AcoreNavigatorGroup(
- Messages.NavigatorGroupName_AClassImplementedInterfaces_4002_source,
- "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getLinksTargetByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AInterfaceEditPart.VISUAL_ID));
- target.addChildren(createNavigatorItems(connectedViews, target, true));
- connectedViews = getLinksSourceByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- source.addChildren(createNavigatorItems(connectedViews, source, true));
- if (!target.isEmpty())
- {
- result.add(target);
- }
- if (!source.isEmpty())
- {
- result.add(source);
- }
- return result.toArray();
- }
-
- case AClassEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup incominglinks = new AcoreNavigatorGroup(
- Messages.NavigatorGroupName_AClass_2002_incominglinks, "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- AcoreNavigatorGroup outgoinglinks = new AcoreNavigatorGroup(
- Messages.NavigatorGroupName_AClass_2002_outgoinglinks, "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getChildrenByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAAttributeCompartmentEditPart.VISUAL_ID));
- connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AAttribute2EditPart.VISUAL_ID));
- result.addAll(createNavigatorItems(connectedViews, parentElement, false));
- connectedViews = getChildrenByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAOperationClassCompartmentEditPart.VISUAL_ID));
- connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AOperation2EditPart.VISUAL_ID));
- result.addAll(createNavigatorItems(connectedViews, parentElement, false));
- connectedViews = getIncomingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
- incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
- connectedViews = getOutgoingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
- outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
- connectedViews = getOutgoingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
- outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
- connectedViews = getIncomingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
- incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
- connectedViews = getOutgoingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
- outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
- connectedViews = getIncomingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
- incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
- connectedViews = getOutgoingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
- outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
- connectedViews = getIncomingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
- incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
- connectedViews = getOutgoingLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
- outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
- if (!incominglinks.isEmpty())
- {
- result.add(incominglinks);
- }
- if (!outgoinglinks.isEmpty())
- {
- result.add(outgoinglinks);
- }
- return result.toArray();
- }
-
- case ACoreRootEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup links = new AcoreNavigatorGroup(Messages.NavigatorGroupName_ACoreRoot_1000_links,
- "icons/linksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getChildrenByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AInterfaceEditPart.VISUAL_ID));
- result.addAll(createNavigatorItems(connectedViews, parentElement, false));
- connectedViews = getChildrenByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- result.addAll(createNavigatorItems(connectedViews, parentElement, false));
- connectedViews = getDiagramLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
- links.addChildren(createNavigatorItems(connectedViews, links, false));
- connectedViews = getDiagramLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
- links.addChildren(createNavigatorItems(connectedViews, links, false));
- connectedViews = getDiagramLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
- links.addChildren(createNavigatorItems(connectedViews, links, false));
- connectedViews = getDiagramLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
- links.addChildren(createNavigatorItems(connectedViews, links, false));
- connectedViews = getDiagramLinksByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
- links.addChildren(createNavigatorItems(connectedViews, links, false));
- if (!links.isEmpty())
- {
- result.add(links);
- }
- return result.toArray();
- }
-
- case AClassAssociationsEditPart.VISUAL_ID:
- {
- LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
- AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAssociations_4003_target,
- "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAssociations_4003_source,
- "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
- Collection<View> connectedViews;
- connectedViews = getLinksTargetByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- target.addChildren(createNavigatorItems(connectedViews, target, true));
- connectedViews = getLinksSourceByType(Collections.singleton(view),
- AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- source.addChildren(createNavigatorItems(connectedViews, source, true));
- if (!target.isEmpty())
- {
- result.add(target);
- }
- if (!source.isEmpty())
- {
- result.add(source);
- }
- return result.toArray();
- }
- }
- return EMPTY_ARRAY;
- }
-
- /**
- * @generated
- */
- private Collection<View> getLinksSourceByType(Collection edges, String type)
- {
- LinkedList<View> result = new LinkedList<View>();
- for (Iterator it = edges.iterator(); it.hasNext();)
- {
- Edge nextEdge = (Edge)it.next();
- View nextEdgeSource = nextEdge.getSource();
- if (type.equals(nextEdgeSource.getType()) && isOwnView(nextEdgeSource))
- {
- result.add(nextEdgeSource);
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private Collection<View> getLinksTargetByType(Collection edges, String type)
- {
- LinkedList<View> result = new LinkedList<View>();
- for (Iterator it = edges.iterator(); it.hasNext();)
- {
- Edge nextEdge = (Edge)it.next();
- View nextEdgeTarget = nextEdge.getTarget();
- if (type.equals(nextEdgeTarget.getType()) && isOwnView(nextEdgeTarget))
- {
- result.add(nextEdgeTarget);
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private Collection<View> getOutgoingLinksByType(Collection<View> nodes, String type)
- {
- LinkedList<View> result = new LinkedList<View>();
- for (Iterator<View> it = nodes.iterator(); it.hasNext();)
- {
- View nextNode = it.next();
- result.addAll(selectViewsByType(nextNode.getSourceEdges(), type));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private Collection<View> getIncomingLinksByType(Collection<View> nodes, String type)
- {
- LinkedList<View> result = new LinkedList<View>();
- for (Iterator<View> it = nodes.iterator(); it.hasNext();)
- {
- View nextNode = it.next();
- result.addAll(selectViewsByType(nextNode.getTargetEdges(), type));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private Collection<View> getChildrenByType(Collection<View> nodes, String type)
- {
- LinkedList<View> result = new LinkedList<View>();
- for (Iterator<View> it = nodes.iterator(); it.hasNext();)
- {
- View nextNode = it.next();
- result.addAll(selectViewsByType(nextNode.getChildren(), type));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private Collection getDiagramLinksByType(Collection diagrams, String type)
- {
- Collection result = new ArrayList();
- for (Iterator it = diagrams.iterator(); it.hasNext();)
- {
- Diagram nextDiagram = (Diagram)it.next();
- result.addAll(selectViewsByType(nextDiagram.getEdges(), type));
- }
- return result;
- }
-
- // TODO refactor as static method
- /**
- * @generated
- */
- private Collection<View> selectViewsByType(Collection<View> views, String type)
- {
- ArrayList<View> result = new ArrayList<View>();
- for (Iterator<View> it = views.iterator(); it.hasNext();)
- {
- View nextView = it.next();
- if (type.equals(nextView.getType()) && isOwnView(nextView))
- {
- result.add(nextView);
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private boolean isOwnView(View view)
- {
- return ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view));
- }
-
- /**
- * @generated
- */
- private Collection<AcoreNavigatorItem> createNavigatorItems(Collection<View> views, Object parent, boolean isLeafs)
- {
- ArrayList<AcoreNavigatorItem> result = new ArrayList<AcoreNavigatorItem>(views.size());
- for (Iterator<View> it = views.iterator(); it.hasNext();)
- {
- View nextView = it.next();
- result.add(new AcoreNavigatorItem(nextView, parent, isLeafs));
- }
- return result;
- }
-
- /**
- * @generated
- */
- public Object getParent(Object element)
- {
- if (element instanceof AcoreAbstractNavigatorItem)
- {
- AcoreAbstractNavigatorItem abstractNavigatorItem = (AcoreAbstractNavigatorItem)element;
- return abstractNavigatorItem.getParent();
- }
- return null;
- }
-
- /**
- * @generated
- */
- public boolean hasChildren(Object element)
- {
- return element instanceof IFile || getChildren(element).length > 0;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.navigator.ICommonContentExtensionSite;
+import org.eclipse.ui.navigator.ICommonContentProvider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorContentProvider implements ICommonContentProvider
+{
+
+ /**
+ * @generated
+ */
+ private static final Object[] EMPTY_ARRAY = new Object[0];
+
+ /**
+ * @generated
+ */
+ private Viewer myViewer;
+
+ /**
+ * @generated
+ */
+ private AdapterFactoryEditingDomain myEditingDomain;
+
+ /**
+ * @generated
+ */
+ private WorkspaceSynchronizer myWorkspaceSynchronizer;
+
+ /**
+ * @generated
+ */
+ private Runnable myViewerRefreshRunnable;
+
+ /**
+ * @generated
+ */
+ public AcoreNavigatorContentProvider()
+ {
+ TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
+ myEditingDomain = (AdapterFactoryEditingDomain)editingDomain;
+ myEditingDomain.setResourceToReadOnlyMap(new HashMap()
+ {
+ public Object get(Object key)
+ {
+ if (!containsKey(key))
+ {
+ put(key, Boolean.TRUE);
+ }
+ return super.get(key);
+ }
+ });
+ myViewerRefreshRunnable = new Runnable()
+ {
+ public void run()
+ {
+ if (myViewer != null)
+ {
+ myViewer.refresh();
+ }
+ }
+ };
+ myWorkspaceSynchronizer = new WorkspaceSynchronizer(editingDomain, new WorkspaceSynchronizer.Delegate()
+ {
+ public void dispose()
+ {
+ }
+
+ public boolean handleResourceChanged(final Resource resource)
+ {
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource nextResource = (Resource)it.next();
+ nextResource.unload();
+ }
+ if (myViewer != null)
+ {
+ myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
+ }
+ return true;
+ }
+
+ public boolean handleResourceDeleted(Resource resource)
+ {
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource nextResource = (Resource)it.next();
+ nextResource.unload();
+ }
+ if (myViewer != null)
+ {
+ myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
+ }
+ return true;
+ }
+
+ public boolean handleResourceMoved(Resource resource, final URI newURI)
+ {
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource nextResource = (Resource)it.next();
+ nextResource.unload();
+ }
+ if (myViewer != null)
+ {
+ myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable);
+ }
+ return true;
+ }
+ });
+ }
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ myWorkspaceSynchronizer.dispose();
+ myWorkspaceSynchronizer = null;
+ myViewerRefreshRunnable = null;
+ for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();)
+ {
+ Resource resource = (Resource)it.next();
+ resource.unload();
+ }
+ ((TransactionalEditingDomain)myEditingDomain).dispose();
+ myEditingDomain = null;
+ }
+
+ /**
+ * @generated
+ */
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
+ {
+ myViewer = viewer;
+ }
+
+ /**
+ * @generated
+ */
+ public Object[] getElements(Object inputElement)
+ {
+ return getChildren(inputElement);
+ }
+
+ /**
+ * @generated
+ */
+ public void restoreState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void saveState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void init(ICommonContentExtensionSite aConfig)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public Object[] getChildren(Object parentElement)
+ {
+ if (parentElement instanceof IFile)
+ {
+ IFile file = (IFile)parentElement;
+ URI fileURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+ Resource resource = myEditingDomain.getResourceSet().getResource(fileURI, true);
+ ArrayList<AcoreNavigatorItem> result = new ArrayList<AcoreNavigatorItem>();
+ ArrayList<View> topViews = new ArrayList<View>(resource.getContents().size());
+ for (Iterator<EObject> it = resource.getContents().iterator(); it.hasNext();)
+ {
+ EObject o = it.next();
+ if (o instanceof View)
+ {
+ topViews.add((View)o);
+ }
+ }
+ result.addAll(createNavigatorItems(selectViewsByType(topViews, ACoreRootEditPart.MODEL_ID), file, false));
+ return result.toArray();
+ }
+
+ if (parentElement instanceof AcoreNavigatorGroup)
+ {
+ AcoreNavigatorGroup group = (AcoreNavigatorGroup)parentElement;
+ return group.getChildren();
+ }
+
+ if (parentElement instanceof AcoreNavigatorItem)
+ {
+ AcoreNavigatorItem navigatorItem = (AcoreNavigatorItem)parentElement;
+ if (navigatorItem.isLeaf() || !isOwnView(navigatorItem.getView()))
+ {
+ return EMPTY_ARRAY;
+ }
+ return getViewChildren(navigatorItem.getView(), parentElement);
+ }
+
+ return EMPTY_ARRAY;
+ }
+
+ /**
+ * @generated
+ */
+ private Object[] getViewChildren(View view, Object parentElement)
+ {
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+
+ case AClassSubClassesEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassSubClasses_4001_target,
+ "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassSubClasses_4001_source,
+ "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getLinksTargetByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ target.addChildren(createNavigatorItems(connectedViews, target, true));
+ connectedViews = getLinksSourceByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ source.addChildren(createNavigatorItems(connectedViews, source, true));
+ if (!target.isEmpty())
+ {
+ result.add(target);
+ }
+ if (!source.isEmpty())
+ {
+ result.add(source);
+ }
+ return result.toArray();
+ }
+
+ case AClassCompositionsEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassCompositions_4005_target,
+ "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassCompositions_4005_source,
+ "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getLinksTargetByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ target.addChildren(createNavigatorItems(connectedViews, target, true));
+ connectedViews = getLinksSourceByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ source.addChildren(createNavigatorItems(connectedViews, source, true));
+ if (!target.isEmpty())
+ {
+ result.add(target);
+ }
+ if (!source.isEmpty())
+ {
+ result.add(source);
+ }
+ return result.toArray();
+ }
+
+ case AInterfaceEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup incominglinks = new AcoreNavigatorGroup(
+ Messages.NavigatorGroupName_AInterface_2001_incominglinks,
+ "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getChildrenByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID));
+ connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AAttributeEditPart.VISUAL_ID));
+ result.addAll(createNavigatorItems(connectedViews, parentElement, false));
+ connectedViews = getChildrenByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID));
+ connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AOperationEditPart.VISUAL_ID));
+ result.addAll(createNavigatorItems(connectedViews, parentElement, false));
+ connectedViews = getIncomingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
+ incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
+ if (!incominglinks.isEmpty())
+ {
+ result.add(incominglinks);
+ }
+ return result.toArray();
+ }
+
+ case AClassAggregationsEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAggregations_4004_target,
+ "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAggregations_4004_source,
+ "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getLinksTargetByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ target.addChildren(createNavigatorItems(connectedViews, target, true));
+ connectedViews = getLinksSourceByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ source.addChildren(createNavigatorItems(connectedViews, source, true));
+ if (!target.isEmpty())
+ {
+ result.add(target);
+ }
+ if (!source.isEmpty())
+ {
+ result.add(source);
+ }
+ return result.toArray();
+ }
+
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup target = new AcoreNavigatorGroup(
+ Messages.NavigatorGroupName_AClassImplementedInterfaces_4002_target,
+ "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ AcoreNavigatorGroup source = new AcoreNavigatorGroup(
+ Messages.NavigatorGroupName_AClassImplementedInterfaces_4002_source,
+ "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getLinksTargetByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AInterfaceEditPart.VISUAL_ID));
+ target.addChildren(createNavigatorItems(connectedViews, target, true));
+ connectedViews = getLinksSourceByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ source.addChildren(createNavigatorItems(connectedViews, source, true));
+ if (!target.isEmpty())
+ {
+ result.add(target);
+ }
+ if (!source.isEmpty())
+ {
+ result.add(source);
+ }
+ return result.toArray();
+ }
+
+ case AClassEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup incominglinks = new AcoreNavigatorGroup(
+ Messages.NavigatorGroupName_AClass_2002_incominglinks, "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ AcoreNavigatorGroup outgoinglinks = new AcoreNavigatorGroup(
+ Messages.NavigatorGroupName_AClass_2002_outgoinglinks, "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getChildrenByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAAttributeCompartmentEditPart.VISUAL_ID));
+ connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AAttribute2EditPart.VISUAL_ID));
+ result.addAll(createNavigatorItems(connectedViews, parentElement, false));
+ connectedViews = getChildrenByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAOperationClassCompartmentEditPart.VISUAL_ID));
+ connectedViews = getChildrenByType(connectedViews, AcoreVisualIDRegistry.getType(AOperation2EditPart.VISUAL_ID));
+ result.addAll(createNavigatorItems(connectedViews, parentElement, false));
+ connectedViews = getIncomingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
+ incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
+ connectedViews = getOutgoingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
+ outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
+ connectedViews = getOutgoingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
+ outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
+ connectedViews = getIncomingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
+ incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
+ connectedViews = getOutgoingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
+ outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
+ connectedViews = getIncomingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
+ incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
+ connectedViews = getOutgoingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
+ outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
+ connectedViews = getIncomingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
+ incominglinks.addChildren(createNavigatorItems(connectedViews, incominglinks, true));
+ connectedViews = getOutgoingLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
+ outgoinglinks.addChildren(createNavigatorItems(connectedViews, outgoinglinks, true));
+ if (!incominglinks.isEmpty())
+ {
+ result.add(incominglinks);
+ }
+ if (!outgoinglinks.isEmpty())
+ {
+ result.add(outgoinglinks);
+ }
+ return result.toArray();
+ }
+
+ case ACoreRootEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup links = new AcoreNavigatorGroup(Messages.NavigatorGroupName_ACoreRoot_1000_links,
+ "icons/linksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getChildrenByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AInterfaceEditPart.VISUAL_ID));
+ result.addAll(createNavigatorItems(connectedViews, parentElement, false));
+ connectedViews = getChildrenByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ result.addAll(createNavigatorItems(connectedViews, parentElement, false));
+ connectedViews = getDiagramLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
+ links.addChildren(createNavigatorItems(connectedViews, links, false));
+ connectedViews = getDiagramLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
+ links.addChildren(createNavigatorItems(connectedViews, links, false));
+ connectedViews = getDiagramLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
+ links.addChildren(createNavigatorItems(connectedViews, links, false));
+ connectedViews = getDiagramLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
+ links.addChildren(createNavigatorItems(connectedViews, links, false));
+ connectedViews = getDiagramLinksByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
+ links.addChildren(createNavigatorItems(connectedViews, links, false));
+ if (!links.isEmpty())
+ {
+ result.add(links);
+ }
+ return result.toArray();
+ }
+
+ case AClassAssociationsEditPart.VISUAL_ID:
+ {
+ LinkedList<AcoreAbstractNavigatorItem> result = new LinkedList<AcoreAbstractNavigatorItem>();
+ AcoreNavigatorGroup target = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAssociations_4003_target,
+ "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ AcoreNavigatorGroup source = new AcoreNavigatorGroup(Messages.NavigatorGroupName_AClassAssociations_4003_source,
+ "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
+ Collection<View> connectedViews;
+ connectedViews = getLinksTargetByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ target.addChildren(createNavigatorItems(connectedViews, target, true));
+ connectedViews = getLinksSourceByType(Collections.singleton(view),
+ AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ source.addChildren(createNavigatorItems(connectedViews, source, true));
+ if (!target.isEmpty())
+ {
+ result.add(target);
+ }
+ if (!source.isEmpty())
+ {
+ result.add(source);
+ }
+ return result.toArray();
+ }
+ }
+ return EMPTY_ARRAY;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<View> getLinksSourceByType(Collection edges, String type)
+ {
+ LinkedList<View> result = new LinkedList<View>();
+ for (Iterator it = edges.iterator(); it.hasNext();)
+ {
+ Edge nextEdge = (Edge)it.next();
+ View nextEdgeSource = nextEdge.getSource();
+ if (type.equals(nextEdgeSource.getType()) && isOwnView(nextEdgeSource))
+ {
+ result.add(nextEdgeSource);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<View> getLinksTargetByType(Collection edges, String type)
+ {
+ LinkedList<View> result = new LinkedList<View>();
+ for (Iterator it = edges.iterator(); it.hasNext();)
+ {
+ Edge nextEdge = (Edge)it.next();
+ View nextEdgeTarget = nextEdge.getTarget();
+ if (type.equals(nextEdgeTarget.getType()) && isOwnView(nextEdgeTarget))
+ {
+ result.add(nextEdgeTarget);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<View> getOutgoingLinksByType(Collection<View> nodes, String type)
+ {
+ LinkedList<View> result = new LinkedList<View>();
+ for (Iterator<View> it = nodes.iterator(); it.hasNext();)
+ {
+ View nextNode = it.next();
+ result.addAll(selectViewsByType(nextNode.getSourceEdges(), type));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<View> getIncomingLinksByType(Collection<View> nodes, String type)
+ {
+ LinkedList<View> result = new LinkedList<View>();
+ for (Iterator<View> it = nodes.iterator(); it.hasNext();)
+ {
+ View nextNode = it.next();
+ result.addAll(selectViewsByType(nextNode.getTargetEdges(), type));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<View> getChildrenByType(Collection<View> nodes, String type)
+ {
+ LinkedList<View> result = new LinkedList<View>();
+ for (Iterator<View> it = nodes.iterator(); it.hasNext();)
+ {
+ View nextNode = it.next();
+ result.addAll(selectViewsByType(nextNode.getChildren(), type));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private Collection getDiagramLinksByType(Collection diagrams, String type)
+ {
+ Collection result = new ArrayList();
+ for (Iterator it = diagrams.iterator(); it.hasNext();)
+ {
+ Diagram nextDiagram = (Diagram)it.next();
+ result.addAll(selectViewsByType(nextDiagram.getEdges(), type));
+ }
+ return result;
+ }
+
+ // TODO refactor as static method
+ /**
+ * @generated
+ */
+ private Collection<View> selectViewsByType(Collection<View> views, String type)
+ {
+ ArrayList<View> result = new ArrayList<View>();
+ for (Iterator<View> it = views.iterator(); it.hasNext();)
+ {
+ View nextView = it.next();
+ if (type.equals(nextView.getType()) && isOwnView(nextView))
+ {
+ result.add(nextView);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private boolean isOwnView(View view)
+ {
+ return ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view));
+ }
+
+ /**
+ * @generated
+ */
+ private Collection<AcoreNavigatorItem> createNavigatorItems(Collection<View> views, Object parent, boolean isLeafs)
+ {
+ ArrayList<AcoreNavigatorItem> result = new ArrayList<AcoreNavigatorItem>(views.size());
+ for (Iterator<View> it = views.iterator(); it.hasNext();)
+ {
+ View nextView = it.next();
+ result.add(new AcoreNavigatorItem(nextView, parent, isLeafs));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public Object getParent(Object element)
+ {
+ if (element instanceof AcoreAbstractNavigatorItem)
+ {
+ AcoreAbstractNavigatorItem abstractNavigatorItem = (AcoreAbstractNavigatorItem)element;
+ return abstractNavigatorItem.getParent();
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean hasChildren(Object element)
+ {
+ return element instanceof IFile || getChildren(element).length > 0;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorGroup.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorGroup.java
index f9fb8de107..191c95eaf7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorGroup.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorGroup.java
@@ -1,120 +1,120 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import java.util.Collection;
-import java.util.LinkedList;
-
-/**
- * @generated
- */
-public class AcoreNavigatorGroup extends AcoreAbstractNavigatorItem
-{
-
- /**
- * @generated
- */
- private String myGroupName;
-
- /**
- * @generated
- */
- private String myIcon;
-
- /**
- * @generated
- */
- private Collection myChildren = new LinkedList();
-
- /**
- * @generated
- */
- AcoreNavigatorGroup(String groupName, String icon, Object parent)
- {
- super(parent);
- myGroupName = groupName;
- myIcon = icon;
- }
-
- /**
- * @generated
- */
- public String getGroupName()
- {
- return myGroupName;
- }
-
- /**
- * @generated
- */
- public String getIcon()
- {
- return myIcon;
- }
-
- /**
- * @generated
- */
- public Object[] getChildren()
- {
- return myChildren.toArray();
- }
-
- /**
- * @generated
- */
- public void addChildren(Collection children)
- {
- myChildren.addAll(children);
- }
-
- /**
- * @generated
- */
- public void addChild(Object child)
- {
- myChildren.add(child);
- }
-
- /**
- * @generated
- */
- public boolean isEmpty()
- {
- return myChildren.size() == 0;
- }
-
- /**
- * @generated
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup)
- {
- org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup anotherGroup = (org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup)obj;
- if (getGroupName().equals(anotherGroup.getGroupName()))
- {
- return getParent().equals(anotherGroup.getParent());
- }
- }
- return super.equals(obj);
- }
-
- /**
- * @generated
- */
- public int hashCode()
- {
- return getGroupName().hashCode();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorGroup extends AcoreAbstractNavigatorItem
+{
+
+ /**
+ * @generated
+ */
+ private String myGroupName;
+
+ /**
+ * @generated
+ */
+ private String myIcon;
+
+ /**
+ * @generated
+ */
+ private Collection myChildren = new LinkedList();
+
+ /**
+ * @generated
+ */
+ AcoreNavigatorGroup(String groupName, String icon, Object parent)
+ {
+ super(parent);
+ myGroupName = groupName;
+ myIcon = icon;
+ }
+
+ /**
+ * @generated
+ */
+ public String getGroupName()
+ {
+ return myGroupName;
+ }
+
+ /**
+ * @generated
+ */
+ public String getIcon()
+ {
+ return myIcon;
+ }
+
+ /**
+ * @generated
+ */
+ public Object[] getChildren()
+ {
+ return myChildren.toArray();
+ }
+
+ /**
+ * @generated
+ */
+ public void addChildren(Collection children)
+ {
+ myChildren.addAll(children);
+ }
+
+ /**
+ * @generated
+ */
+ public void addChild(Object child)
+ {
+ myChildren.add(child);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isEmpty()
+ {
+ return myChildren.size() == 0;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup)
+ {
+ org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup anotherGroup = (org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup)obj;
+ if (getGroupName().equals(anotherGroup.getGroupName()))
+ {
+ return getParent().equals(anotherGroup.getParent());
+ }
+ }
+ return super.equals(obj);
+ }
+
+ /**
+ * @generated
+ */
+ public int hashCode()
+ {
+ return getGroupName().hashCode();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorItem.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorItem.java
index 1ccf1fcb6f..3aa864aa37 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorItem.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorItem.java
@@ -1,111 +1,111 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AcoreNavigatorItem extends AcoreAbstractNavigatorItem
-{
-
- /**
- * @generated
- */
- static
- {
- final Class[] supportedTypes = new Class[] { View.class, EObject.class };
- Platform.getAdapterManager().registerAdapters(new IAdapterFactory()
- {
-
- public Object getAdapter(Object adaptableObject, Class adapterType)
- {
- if (adaptableObject instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem
- && (adapterType == View.class || adapterType == EObject.class))
- {
- return ((org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem)adaptableObject).getView();
- }
- return null;
- }
-
- public Class[] getAdapterList()
- {
- return supportedTypes;
- }
- }, org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem.class);
- }
-
- /**
- * @generated
- */
- private View myView;
-
- /**
- * @generated
- */
- private boolean myLeaf = false;
-
- /**
- * @generated
- */
- public AcoreNavigatorItem(View view, Object parent, boolean isLeaf)
- {
- super(parent);
- myView = view;
- myLeaf = isLeaf;
- }
-
- /**
- * @generated
- */
- public View getView()
- {
- return myView;
- }
-
- /**
- * @generated
- */
- public boolean isLeaf()
- {
- return myLeaf;
- }
-
- /**
- * @generated
- */
- public boolean equals(Object obj)
- {
- if (obj instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem)
- {
- return EcoreUtil.getURI(getView()).equals(
- EcoreUtil.getURI(((org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem)obj)
- .getView()));
- }
- return super.equals(obj);
- }
-
- /**
- * @generated
- */
- public int hashCode()
- {
- return EcoreUtil.getURI(getView()).hashCode();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorItem extends AcoreAbstractNavigatorItem
+{
+
+ /**
+ * @generated
+ */
+ static
+ {
+ final Class[] supportedTypes = new Class[] { View.class, EObject.class };
+ Platform.getAdapterManager().registerAdapters(new IAdapterFactory()
+ {
+
+ public Object getAdapter(Object adaptableObject, Class adapterType)
+ {
+ if (adaptableObject instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem
+ && (adapterType == View.class || adapterType == EObject.class))
+ {
+ return ((org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem)adaptableObject).getView();
+ }
+ return null;
+ }
+
+ public Class[] getAdapterList()
+ {
+ return supportedTypes;
+ }
+ }, org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem.class);
+ }
+
+ /**
+ * @generated
+ */
+ private View myView;
+
+ /**
+ * @generated
+ */
+ private boolean myLeaf = false;
+
+ /**
+ * @generated
+ */
+ public AcoreNavigatorItem(View view, Object parent, boolean isLeaf)
+ {
+ super(parent);
+ myView = view;
+ myLeaf = isLeaf;
+ }
+
+ /**
+ * @generated
+ */
+ public View getView()
+ {
+ return myView;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isLeaf()
+ {
+ return myLeaf;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem)
+ {
+ return EcoreUtil.getURI(getView()).equals(
+ EcoreUtil.getURI(((org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem)obj)
+ .getView()));
+ }
+ return super.equals(obj);
+ }
+
+ /**
+ * @generated
+ */
+ public int hashCode()
+ {
+ return EcoreUtil.getURI(getView()).hashCode();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLabelProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLabelProvider.java
index c9bcd48491..efa0dab68c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLabelProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLabelProvider.java
@@ -1,466 +1,466 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
-
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.ITreePathLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.ViewerLabel;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonLabelProvider;
-
-/**
- * @generated
- */
-public class AcoreNavigatorLabelProvider extends LabelProvider implements ICommonLabelProvider, ITreePathLabelProvider
-{
-
- /**
- * @generated
- */
- static
- {
- AcoreDiagramEditorPlugin.getInstance().getImageRegistry()
- .put("Navigator?UnknownElement", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$
- AcoreDiagramEditorPlugin.getInstance().getImageRegistry()
- .put("Navigator?ImageNotFound", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- public void updateLabel(ViewerLabel label, TreePath elementPath)
- {
- Object element = elementPath.getLastSegment();
- if (element instanceof AcoreNavigatorItem && !isOwnView(((AcoreNavigatorItem)element).getView()))
- {
- return;
- }
- label.setText(getText(element));
- label.setImage(getImage(element));
- }
-
- /**
- * @generated
- */
- public Image getImage(Object element)
- {
- if (element instanceof AcoreNavigatorGroup)
- {
- AcoreNavigatorGroup group = (AcoreNavigatorGroup)element;
- return AcoreDiagramEditorPlugin.getInstance().getBundledImage(group.getIcon());
- }
-
- if (element instanceof AcoreNavigatorItem)
- {
- AcoreNavigatorItem navigatorItem = (AcoreNavigatorItem)element;
- if (!isOwnView(navigatorItem.getView()))
- {
- return super.getImage(element);
- }
- return getImage(navigatorItem.getView());
- }
-
- return super.getImage(element);
- }
-
- /**
- * @generated
- */
- public Image getImage(View view)
- {
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case AAttributeEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AAttribute", AcoreElementTypes.AAttribute_3001); //$NON-NLS-1$
- case AOperation2EditPart.VISUAL_ID:
- return getImage(
- "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AOperation", AcoreElementTypes.AOperation_3004); //$NON-NLS-1$
- case AClassSubClassesEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?subClasses", AcoreElementTypes.AClassSubClasses_4001); //$NON-NLS-1$
- case AClassCompositionsEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?compositions", AcoreElementTypes.AClassCompositions_4005); //$NON-NLS-1$
- case AInterfaceEditPart.VISUAL_ID:
- return getImage(
- "Navigator?TopLevelNode?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AInterface", AcoreElementTypes.AInterface_2001); //$NON-NLS-1$
- case AClassAggregationsEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?aggregations", AcoreElementTypes.AClassAggregations_4004); //$NON-NLS-1$
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?implementedInterfaces", AcoreElementTypes.AClassImplementedInterfaces_4002); //$NON-NLS-1$
- case AAttribute2EditPart.VISUAL_ID:
- return getImage(
- "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AAttribute", AcoreElementTypes.AAttribute_3003); //$NON-NLS-1$
- case AClassEditPart.VISUAL_ID:
- return getImage(
- "Navigator?TopLevelNode?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass", AcoreElementTypes.AClass_2002); //$NON-NLS-1$
- case ACoreRootEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Diagram?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?ACoreRoot", AcoreElementTypes.ACoreRoot_1000); //$NON-NLS-1$
- case AClassAssociationsEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?associations", AcoreElementTypes.AClassAssociations_4003); //$NON-NLS-1$
- case AOperationEditPart.VISUAL_ID:
- return getImage(
- "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AOperation", AcoreElementTypes.AOperation_3002); //$NON-NLS-1$
- }
- return getImage("Navigator?UnknownElement", null); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private Image getImage(String key, IElementType elementType)
- {
- ImageRegistry imageRegistry = AcoreDiagramEditorPlugin.getInstance().getImageRegistry();
- Image image = imageRegistry.get(key);
- if (image == null && elementType != null && AcoreElementTypes.isKnownElementType(elementType))
- {
- image = AcoreElementTypes.getImage(elementType);
- imageRegistry.put(key, image);
- }
-
- if (image == null)
- {
- image = imageRegistry.get("Navigator?ImageNotFound"); //$NON-NLS-1$
- imageRegistry.put(key, image);
- }
- return image;
- }
-
- /**
- * @generated
- */
- public String getText(Object element)
- {
- if (element instanceof AcoreNavigatorGroup)
- {
- AcoreNavigatorGroup group = (AcoreNavigatorGroup)element;
- return group.getGroupName();
- }
-
- if (element instanceof AcoreNavigatorItem)
- {
- AcoreNavigatorItem navigatorItem = (AcoreNavigatorItem)element;
- if (!isOwnView(navigatorItem.getView()))
- {
- return null;
- }
- return getText(navigatorItem.getView());
- }
-
- return super.getText(element);
- }
-
- /**
- * @generated
- */
- public String getText(View view)
- {
- if (view.getElement() != null && view.getElement().eIsProxy())
- {
- return getUnresolvedDomainElementProxyText(view);
- }
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case AAttributeEditPart.VISUAL_ID:
- return getAAttribute_3001Text(view);
- case AOperation2EditPart.VISUAL_ID:
- return getAOperation_3004Text(view);
- case AClassSubClassesEditPart.VISUAL_ID:
- return getAClassSubClasses_4001Text(view);
- case AClassCompositionsEditPart.VISUAL_ID:
- return getAClassCompositions_4005Text(view);
- case AInterfaceEditPart.VISUAL_ID:
- return getAInterface_2001Text(view);
- case AClassAggregationsEditPart.VISUAL_ID:
- return getAClassAggregations_4004Text(view);
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return getAClassImplementedInterfaces_4002Text(view);
- case AAttribute2EditPart.VISUAL_ID:
- return getAAttribute_3003Text(view);
- case AClassEditPart.VISUAL_ID:
- return getAClass_2002Text(view);
- case ACoreRootEditPart.VISUAL_ID:
- return getACoreRoot_1000Text(view);
- case AClassAssociationsEditPart.VISUAL_ID:
- return getAClassAssociations_4003Text(view);
- case AOperationEditPart.VISUAL_ID:
- return getAOperation_3002Text(view);
- }
- return getUnknownElementText(view);
- }
-
- /**
- * @generated
- */
- private String getAAttribute_3001Text(View view)
- {
- IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3001,
- view.getElement() != null ? view.getElement() : view,
- AcoreVisualIDRegistry.getType(AAttributeEditPart.VISUAL_ID));
- if (parser != null)
- {
- return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
- ParserOptions.NONE.intValue());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3001); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getAOperation_3004Text(View view)
- {
- IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3004,
- view.getElement() != null ? view.getElement() : view,
- AcoreVisualIDRegistry.getType(AOperation2EditPart.VISUAL_ID));
- if (parser != null)
- {
- return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
- ParserOptions.NONE.intValue());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3004); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getAClassSubClasses_4001Text(View view)
- {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private String getAClassCompositions_4005Text(View view)
- {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private String getAInterface_2001Text(View view)
- {
- IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AInterface_2001,
- view.getElement() != null ? view.getElement() : view,
- AcoreVisualIDRegistry.getType(AInterfaceNameEditPart.VISUAL_ID));
- if (parser != null)
- {
- return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
- ParserOptions.NONE.intValue());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5001); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getAClassAggregations_4004Text(View view)
- {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private String getAClassImplementedInterfaces_4002Text(View view)
- {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private String getAAttribute_3003Text(View view)
- {
- IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3003,
- view.getElement() != null ? view.getElement() : view,
- AcoreVisualIDRegistry.getType(AAttribute2EditPart.VISUAL_ID));
- if (parser != null)
- {
- return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
- ParserOptions.NONE.intValue());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3003); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getAClass_2002Text(View view)
- {
- IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AClass_2002,
- view.getElement() != null ? view.getElement() : view,
- AcoreVisualIDRegistry.getType(AClassNameEditPart.VISUAL_ID));
- if (parser != null)
- {
- return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
- ParserOptions.NONE.intValue());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5002); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getACoreRoot_1000Text(View view)
- {
- ACoreRoot domainModelElement = (ACoreRoot)view.getElement();
- if (domainModelElement != null)
- {
- return domainModelElement.getTitle();
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("No domain element for view with visualID = " + 1000); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getAClassAssociations_4003Text(View view)
- {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private String getAOperation_3002Text(View view)
- {
- IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3002,
- view.getElement() != null ? view.getElement() : view,
- AcoreVisualIDRegistry.getType(AOperationEditPart.VISUAL_ID));
- if (parser != null)
- {
- return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
- ParserOptions.NONE.intValue());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3002); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- private String getUnknownElementText(View view)
- {
- return "<UnknownElement Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * @generated
- */
- private String getUnresolvedDomainElementProxyText(View view)
- {
- return "<Unresolved domain element Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * @generated
- */
- public void init(ICommonContentExtensionSite aConfig)
- {
- }
-
- /**
- * @generated
- */
- public void restoreState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public void saveState(IMemento aMemento)
- {
- }
-
- /**
- * @generated
- */
- public String getDescription(Object anElement)
- {
- return null;
- }
-
- /**
- * @generated
- */
- private boolean isOwnView(View view)
- {
- return ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view));
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreParserProvider;
+
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.viewers.ITreePathLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreePath;
+import org.eclipse.jface.viewers.ViewerLabel;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IMemento;
+import org.eclipse.ui.navigator.ICommonContentExtensionSite;
+import org.eclipse.ui.navigator.ICommonLabelProvider;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorLabelProvider extends LabelProvider implements ICommonLabelProvider, ITreePathLabelProvider
+{
+
+ /**
+ * @generated
+ */
+ static
+ {
+ AcoreDiagramEditorPlugin.getInstance().getImageRegistry()
+ .put("Navigator?UnknownElement", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$
+ AcoreDiagramEditorPlugin.getInstance().getImageRegistry()
+ .put("Navigator?ImageNotFound", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ public void updateLabel(ViewerLabel label, TreePath elementPath)
+ {
+ Object element = elementPath.getLastSegment();
+ if (element instanceof AcoreNavigatorItem && !isOwnView(((AcoreNavigatorItem)element).getView()))
+ {
+ return;
+ }
+ label.setText(getText(element));
+ label.setImage(getImage(element));
+ }
+
+ /**
+ * @generated
+ */
+ public Image getImage(Object element)
+ {
+ if (element instanceof AcoreNavigatorGroup)
+ {
+ AcoreNavigatorGroup group = (AcoreNavigatorGroup)element;
+ return AcoreDiagramEditorPlugin.getInstance().getBundledImage(group.getIcon());
+ }
+
+ if (element instanceof AcoreNavigatorItem)
+ {
+ AcoreNavigatorItem navigatorItem = (AcoreNavigatorItem)element;
+ if (!isOwnView(navigatorItem.getView()))
+ {
+ return super.getImage(element);
+ }
+ return getImage(navigatorItem.getView());
+ }
+
+ return super.getImage(element);
+ }
+
+ /**
+ * @generated
+ */
+ public Image getImage(View view)
+ {
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case AAttributeEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AAttribute", AcoreElementTypes.AAttribute_3001); //$NON-NLS-1$
+ case AOperation2EditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AOperation", AcoreElementTypes.AOperation_3004); //$NON-NLS-1$
+ case AClassSubClassesEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?subClasses", AcoreElementTypes.AClassSubClasses_4001); //$NON-NLS-1$
+ case AClassCompositionsEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?compositions", AcoreElementTypes.AClassCompositions_4005); //$NON-NLS-1$
+ case AInterfaceEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?TopLevelNode?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AInterface", AcoreElementTypes.AInterface_2001); //$NON-NLS-1$
+ case AClassAggregationsEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?aggregations", AcoreElementTypes.AClassAggregations_4004); //$NON-NLS-1$
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?implementedInterfaces", AcoreElementTypes.AClassImplementedInterfaces_4002); //$NON-NLS-1$
+ case AAttribute2EditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AAttribute", AcoreElementTypes.AAttribute_3003); //$NON-NLS-1$
+ case AClassEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?TopLevelNode?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass", AcoreElementTypes.AClass_2002); //$NON-NLS-1$
+ case ACoreRootEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Diagram?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?ACoreRoot", AcoreElementTypes.ACoreRoot_1000); //$NON-NLS-1$
+ case AClassAssociationsEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Link?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AClass?associations", AcoreElementTypes.AClassAssociations_4003); //$NON-NLS-1$
+ case AOperationEditPart.VISUAL_ID:
+ return getImage(
+ "Navigator?Node?http://www.eclipse.org/emf/cdo/dawn/examples/2010/ACore?AOperation", AcoreElementTypes.AOperation_3002); //$NON-NLS-1$
+ }
+ return getImage("Navigator?UnknownElement", null); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private Image getImage(String key, IElementType elementType)
+ {
+ ImageRegistry imageRegistry = AcoreDiagramEditorPlugin.getInstance().getImageRegistry();
+ Image image = imageRegistry.get(key);
+ if (image == null && elementType != null && AcoreElementTypes.isKnownElementType(elementType))
+ {
+ image = AcoreElementTypes.getImage(elementType);
+ imageRegistry.put(key, image);
+ }
+
+ if (image == null)
+ {
+ image = imageRegistry.get("Navigator?ImageNotFound"); //$NON-NLS-1$
+ imageRegistry.put(key, image);
+ }
+ return image;
+ }
+
+ /**
+ * @generated
+ */
+ public String getText(Object element)
+ {
+ if (element instanceof AcoreNavigatorGroup)
+ {
+ AcoreNavigatorGroup group = (AcoreNavigatorGroup)element;
+ return group.getGroupName();
+ }
+
+ if (element instanceof AcoreNavigatorItem)
+ {
+ AcoreNavigatorItem navigatorItem = (AcoreNavigatorItem)element;
+ if (!isOwnView(navigatorItem.getView()))
+ {
+ return null;
+ }
+ return getText(navigatorItem.getView());
+ }
+
+ return super.getText(element);
+ }
+
+ /**
+ * @generated
+ */
+ public String getText(View view)
+ {
+ if (view.getElement() != null && view.getElement().eIsProxy())
+ {
+ return getUnresolvedDomainElementProxyText(view);
+ }
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case AAttributeEditPart.VISUAL_ID:
+ return getAAttribute_3001Text(view);
+ case AOperation2EditPart.VISUAL_ID:
+ return getAOperation_3004Text(view);
+ case AClassSubClassesEditPart.VISUAL_ID:
+ return getAClassSubClasses_4001Text(view);
+ case AClassCompositionsEditPart.VISUAL_ID:
+ return getAClassCompositions_4005Text(view);
+ case AInterfaceEditPart.VISUAL_ID:
+ return getAInterface_2001Text(view);
+ case AClassAggregationsEditPart.VISUAL_ID:
+ return getAClassAggregations_4004Text(view);
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return getAClassImplementedInterfaces_4002Text(view);
+ case AAttribute2EditPart.VISUAL_ID:
+ return getAAttribute_3003Text(view);
+ case AClassEditPart.VISUAL_ID:
+ return getAClass_2002Text(view);
+ case ACoreRootEditPart.VISUAL_ID:
+ return getACoreRoot_1000Text(view);
+ case AClassAssociationsEditPart.VISUAL_ID:
+ return getAClassAssociations_4003Text(view);
+ case AOperationEditPart.VISUAL_ID:
+ return getAOperation_3002Text(view);
+ }
+ return getUnknownElementText(view);
+ }
+
+ /**
+ * @generated
+ */
+ private String getAAttribute_3001Text(View view)
+ {
+ IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3001,
+ view.getElement() != null ? view.getElement() : view,
+ AcoreVisualIDRegistry.getType(AAttributeEditPart.VISUAL_ID));
+ if (parser != null)
+ {
+ return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
+ ParserOptions.NONE.intValue());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3001); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getAOperation_3004Text(View view)
+ {
+ IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3004,
+ view.getElement() != null ? view.getElement() : view,
+ AcoreVisualIDRegistry.getType(AOperation2EditPart.VISUAL_ID));
+ if (parser != null)
+ {
+ return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
+ ParserOptions.NONE.intValue());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3004); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getAClassSubClasses_4001Text(View view)
+ {
+ return ""; //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private String getAClassCompositions_4005Text(View view)
+ {
+ return ""; //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private String getAInterface_2001Text(View view)
+ {
+ IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AInterface_2001,
+ view.getElement() != null ? view.getElement() : view,
+ AcoreVisualIDRegistry.getType(AInterfaceNameEditPart.VISUAL_ID));
+ if (parser != null)
+ {
+ return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
+ ParserOptions.NONE.intValue());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5001); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getAClassAggregations_4004Text(View view)
+ {
+ return ""; //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private String getAClassImplementedInterfaces_4002Text(View view)
+ {
+ return ""; //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private String getAAttribute_3003Text(View view)
+ {
+ IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AAttribute_3003,
+ view.getElement() != null ? view.getElement() : view,
+ AcoreVisualIDRegistry.getType(AAttribute2EditPart.VISUAL_ID));
+ if (parser != null)
+ {
+ return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
+ ParserOptions.NONE.intValue());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3003); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getAClass_2002Text(View view)
+ {
+ IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AClass_2002,
+ view.getElement() != null ? view.getElement() : view,
+ AcoreVisualIDRegistry.getType(AClassNameEditPart.VISUAL_ID));
+ if (parser != null)
+ {
+ return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
+ ParserOptions.NONE.intValue());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 5002); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getACoreRoot_1000Text(View view)
+ {
+ ACoreRoot domainModelElement = (ACoreRoot)view.getElement();
+ if (domainModelElement != null)
+ {
+ return domainModelElement.getTitle();
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("No domain element for view with visualID = " + 1000); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getAClassAssociations_4003Text(View view)
+ {
+ return ""; //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private String getAOperation_3002Text(View view)
+ {
+ IParser parser = AcoreParserProvider.getParser(AcoreElementTypes.AOperation_3002,
+ view.getElement() != null ? view.getElement() : view,
+ AcoreVisualIDRegistry.getType(AOperationEditPart.VISUAL_ID));
+ if (parser != null)
+ {
+ return parser.getPrintString(new EObjectAdapter(view.getElement() != null ? view.getElement() : view),
+ ParserOptions.NONE.intValue());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Parser was not found for label " + 3002); //$NON-NLS-1$
+ return ""; //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private String getUnknownElementText(View view)
+ {
+ return "<UnknownElement Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * @generated
+ */
+ private String getUnresolvedDomainElementProxyText(View view)
+ {
+ return "<Unresolved domain element Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * @generated
+ */
+ public void init(ICommonContentExtensionSite aConfig)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void restoreState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void saveState(IMemento aMemento)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public String getDescription(Object anElement)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ private boolean isOwnView(View view)
+ {
+ return ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view));
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLinkHelper.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLinkHelper.java
index 8d0967d6c9..c74963d6b3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLinkHelper.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorLinkHelper.java
@@ -1,149 +1,149 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.emf.common.ui.URIEditorInput;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.navigator.ILinkHelper;
-import org.eclipse.ui.part.FileEditorInput;
-
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AcoreNavigatorLinkHelper implements ILinkHelper
-{
-
- /**
- * @generated
- */
- private static IEditorInput getEditorInput(Diagram diagram)
- {
- Resource diagramResource = diagram.eResource();
- for (Iterator it = diagramResource.getContents().iterator(); it.hasNext();)
- {
- EObject nextEObject = (EObject)it.next();
- if (nextEObject == diagram)
- {
- return new FileEditorInput(WorkspaceSynchronizer.getFile(diagramResource));
- }
- if (nextEObject instanceof Diagram)
- {
- break;
- }
- }
- URI uri = EcoreUtil.getURI(diagram);
- String editorName = uri.lastSegment() + "#" + diagram.eResource().getContents().indexOf(diagram); //$NON-NLS-1$
- IEditorInput editorInput = new URIEditorInput(uri, editorName);
- return editorInput;
- }
-
- /**
- * @generated
- */
- public IStructuredSelection findSelection(IEditorInput anInput)
- {
- IDiagramDocument document = AcoreDiagramEditorPlugin.getInstance().getDocumentProvider()
- .getDiagramDocument(anInput);
- if (document == null)
- {
- return StructuredSelection.EMPTY;
- }
- Diagram diagram = document.getDiagram();
- IFile file = WorkspaceSynchronizer.getFile(diagram.eResource());
- if (file != null)
- {
- AcoreNavigatorItem item = new AcoreNavigatorItem(diagram, file, false);
- return new StructuredSelection(item);
- }
- return StructuredSelection.EMPTY;
- }
-
- /**
- * @generated
- */
- public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection)
- {
- if (aSelection == null || aSelection.isEmpty())
- {
- return;
- }
- if (false == aSelection.getFirstElement() instanceof AcoreAbstractNavigatorItem)
- {
- return;
- }
-
- AcoreAbstractNavigatorItem abstractNavigatorItem = (AcoreAbstractNavigatorItem)aSelection.getFirstElement();
- View navigatorView = null;
- if (abstractNavigatorItem instanceof AcoreNavigatorItem)
- {
- navigatorView = ((AcoreNavigatorItem)abstractNavigatorItem).getView();
- }
- else if (abstractNavigatorItem instanceof AcoreNavigatorGroup)
- {
- AcoreNavigatorGroup navigatorGroup = (AcoreNavigatorGroup)abstractNavigatorItem;
- if (navigatorGroup.getParent() instanceof AcoreNavigatorItem)
- {
- navigatorView = ((AcoreNavigatorItem)navigatorGroup.getParent()).getView();
- }
- }
- if (navigatorView == null)
- {
- return;
- }
- IEditorInput editorInput = getEditorInput(navigatorView.getDiagram());
- IEditorPart editor = aPage.findEditor(editorInput);
- if (editor == null)
- {
- return;
- }
- aPage.bringToTop(editor);
- if (editor instanceof DiagramEditor)
- {
- DiagramEditor diagramEditor = (DiagramEditor)editor;
- ResourceSet diagramEditorResourceSet = diagramEditor.getEditingDomain().getResourceSet();
- EObject selectedView = diagramEditorResourceSet.getEObject(EcoreUtil.getURI(navigatorView), true);
- if (selectedView == null)
- {
- return;
- }
- GraphicalViewer graphicalViewer = (GraphicalViewer)diagramEditor.getAdapter(GraphicalViewer.class);
- EditPart selectedEditPart = (EditPart)graphicalViewer.getEditPartRegistry().get(selectedView);
- if (selectedEditPart != null)
- {
- graphicalViewer.select(selectedEditPart);
- }
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalViewer;
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.navigator.ILinkHelper;
+import org.eclipse.ui.part.FileEditorInput;
+
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorLinkHelper implements ILinkHelper
+{
+
+ /**
+ * @generated
+ */
+ private static IEditorInput getEditorInput(Diagram diagram)
+ {
+ Resource diagramResource = diagram.eResource();
+ for (Iterator it = diagramResource.getContents().iterator(); it.hasNext();)
+ {
+ EObject nextEObject = (EObject)it.next();
+ if (nextEObject == diagram)
+ {
+ return new FileEditorInput(WorkspaceSynchronizer.getFile(diagramResource));
+ }
+ if (nextEObject instanceof Diagram)
+ {
+ break;
+ }
+ }
+ URI uri = EcoreUtil.getURI(diagram);
+ String editorName = uri.lastSegment() + "#" + diagram.eResource().getContents().indexOf(diagram); //$NON-NLS-1$
+ IEditorInput editorInput = new URIEditorInput(uri, editorName);
+ return editorInput;
+ }
+
+ /**
+ * @generated
+ */
+ public IStructuredSelection findSelection(IEditorInput anInput)
+ {
+ IDiagramDocument document = AcoreDiagramEditorPlugin.getInstance().getDocumentProvider()
+ .getDiagramDocument(anInput);
+ if (document == null)
+ {
+ return StructuredSelection.EMPTY;
+ }
+ Diagram diagram = document.getDiagram();
+ IFile file = WorkspaceSynchronizer.getFile(diagram.eResource());
+ if (file != null)
+ {
+ AcoreNavigatorItem item = new AcoreNavigatorItem(diagram, file, false);
+ return new StructuredSelection(item);
+ }
+ return StructuredSelection.EMPTY;
+ }
+
+ /**
+ * @generated
+ */
+ public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection)
+ {
+ if (aSelection == null || aSelection.isEmpty())
+ {
+ return;
+ }
+ if (false == aSelection.getFirstElement() instanceof AcoreAbstractNavigatorItem)
+ {
+ return;
+ }
+
+ AcoreAbstractNavigatorItem abstractNavigatorItem = (AcoreAbstractNavigatorItem)aSelection.getFirstElement();
+ View navigatorView = null;
+ if (abstractNavigatorItem instanceof AcoreNavigatorItem)
+ {
+ navigatorView = ((AcoreNavigatorItem)abstractNavigatorItem).getView();
+ }
+ else if (abstractNavigatorItem instanceof AcoreNavigatorGroup)
+ {
+ AcoreNavigatorGroup navigatorGroup = (AcoreNavigatorGroup)abstractNavigatorItem;
+ if (navigatorGroup.getParent() instanceof AcoreNavigatorItem)
+ {
+ navigatorView = ((AcoreNavigatorItem)navigatorGroup.getParent()).getView();
+ }
+ }
+ if (navigatorView == null)
+ {
+ return;
+ }
+ IEditorInput editorInput = getEditorInput(navigatorView.getDiagram());
+ IEditorPart editor = aPage.findEditor(editorInput);
+ if (editor == null)
+ {
+ return;
+ }
+ aPage.bringToTop(editor);
+ if (editor instanceof DiagramEditor)
+ {
+ DiagramEditor diagramEditor = (DiagramEditor)editor;
+ ResourceSet diagramEditorResourceSet = diagramEditor.getEditingDomain().getResourceSet();
+ EObject selectedView = diagramEditorResourceSet.getEObject(EcoreUtil.getURI(navigatorView), true);
+ if (selectedView == null)
+ {
+ return;
+ }
+ GraphicalViewer graphicalViewer = (GraphicalViewer)diagramEditor.getAdapter(GraphicalViewer.class);
+ EditPart selectedEditPart = (EditPart)graphicalViewer.getEditPartRegistry().get(selectedView);
+ if (selectedEditPart != null)
+ {
+ graphicalViewer.select(selectedEditPart);
+ }
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorSorter.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorSorter.java
index e63b218eed..9881dfbaf8 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorSorter.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/navigator/AcoreNavigatorSorter.java
@@ -1,42 +1,42 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * @generated
- */
-public class AcoreNavigatorSorter extends ViewerSorter
-{
-
- /**
- * @generated
- */
- private static final int GROUP_CATEGORY = 7006;
-
- /**
- * @generated
- */
- public int category(Object element)
- {
- if (element instanceof AcoreNavigatorItem)
- {
- AcoreNavigatorItem item = (AcoreNavigatorItem)element;
- return AcoreVisualIDRegistry.getVisualID(item.getView());
- }
- return GROUP_CATEGORY;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.jface.viewers.ViewerSorter;
+
+/**
+ * @generated
+ */
+public class AcoreNavigatorSorter extends ViewerSorter
+{
+
+ /**
+ * @generated
+ */
+ private static final int GROUP_CATEGORY = 7006;
+
+ /**
+ * @generated
+ */
+ public int category(Object element)
+ {
+ if (element instanceof AcoreNavigatorItem)
+ {
+ AcoreNavigatorItem item = (AcoreNavigatorItem)element;
+ return AcoreVisualIDRegistry.getVisualID(item.getView());
+ }
+ return GROUP_CATEGORY;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/AbstractParser.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/AbstractParser.java
index 66dac4e85c..f1a3c5b2da 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/AbstractParser.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/AbstractParser.java
@@ -1,585 +1,585 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.type.core.commands.SetValueCommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.osgi.util.NLS;
-
-import java.util.Arrays;
-
-/**
- * @generated
- */
-public abstract class AbstractParser implements IParser
-{
-
- /**
- * @generated
- */
- protected final EAttribute[] features;
-
- /**
- * @generated
- */
- protected final EAttribute[] editableFeatures;
-
- /**
- * @generated
- */
- private String viewPattern;
-
- /**
- * @generated
- */
- private String editorPattern;
-
- /**
- * @generated
- */
- private String editPattern;
-
- /**
- * @generated
- */
- public AbstractParser(EAttribute[] features)
- {
- if (features == null || Arrays.asList(features).contains(null))
- {
- throw new IllegalArgumentException();
- }
- this.editableFeatures = this.features = features;
- }
-
- /**
- * @generated
- */
- public AbstractParser(EAttribute[] features, EAttribute[] editableFeatures)
- {
- if (features == null || Arrays.asList(features).contains(null))
- {
- throw new IllegalArgumentException();
- }
- this.features = features;
- if (editableFeatures == null || Arrays.asList(editableFeatures).contains(null))
- {
- throw new IllegalArgumentException();
- }
- this.editableFeatures = editableFeatures;
- }
-
- /**
- * @generated
- */
- public String getViewPattern()
- {
- return viewPattern;
- }
-
- /**
- * @generated
- */
- public void setViewPattern(String viewPattern)
- {
- this.viewPattern = viewPattern;
- }
-
- /**
- * @generated
- */
- public String getEditorPattern()
- {
- return editorPattern;
- }
-
- /**
- * @generated
- */
- public void setEditorPattern(String editorPattern)
- {
- this.editorPattern = editorPattern;
- }
-
- /**
- * @generated
- */
- public String getEditPattern()
- {
- return editPattern;
- }
-
- /**
- * @generated
- */
- public void setEditPattern(String editPattern)
- {
- this.editPattern = editPattern;
- }
-
- /**
- * @generated
- */
- public boolean isAffectingEvent(Object event, int flags)
- {
- if (event instanceof Notification)
- {
- return isAffectingFeature(((Notification)event).getFeature());
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean isAffectingFeature(Object feature)
- {
- for (int i = 0; i < features.length; i++)
- {
- if (features[i] == feature)
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @generated
- */
- public IContentAssistProcessor getCompletionProcessor(IAdaptable element)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected Object[] getValues(EObject element)
- {
- Object[] values = new Object[features.length];
- for (int i = 0; i < features.length; i++)
- {
- values[i] = getValue(element, features[i]);
- }
- return values;
- }
-
- /**
- * @generated
- */
- protected Object[] getEditableValues(EObject element)
- {
- Object[] values = new Object[editableFeatures.length];
- for (int i = 0; i < editableFeatures.length; i++)
- {
- values[i] = getValue(element, editableFeatures[i]);
- }
- return values;
- }
-
- /**
- * @generated
- */
- protected Object getValue(EObject element, EAttribute feature)
- {
- Object value = element.eGet(feature);
- Class iClass = feature.getEAttributeType().getInstanceClass();
- if (String.class.equals(iClass))
- {
- if (value == null)
- {
- value = ""; //$NON-NLS-1$
- }
- }
- return value;
- }
-
- /**
- * @generated
- */
- protected ICommand getParseCommand(IAdaptable adapter, Object[] values, int flags)
- {
- if (values == null || validateNewValues(values).getCode() != IParserEditStatus.EDITABLE)
- {
- return UnexecutableCommand.INSTANCE;
- }
- EObject element = (EObject)adapter.getAdapter(EObject.class);
- TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(element);
- if (editingDomain == null)
- {
- return UnexecutableCommand.INSTANCE;
- }
- CompositeTransactionalCommand command = new CompositeTransactionalCommand(editingDomain, "Set Values"); //$NON-NLS-1$
- for (int i = 0; i < values.length; i++)
- {
- command.compose(getModificationCommand(element, editableFeatures[i], values[i]));
- }
- return command;
- }
-
- /**
- * @generated
- */
- protected ICommand getModificationCommand(EObject element, EAttribute feature, Object value)
- {
- value = getValidNewValue(feature, value);
- if (value instanceof InvalidValue)
- {
- return UnexecutableCommand.INSTANCE;
- }
- SetRequest request = new SetRequest(element, feature, value);
- return new SetValueCommand(request);
- }
-
- /**
- * @generated
- */
- protected IParserEditStatus validateNewValues(Object[] values)
- {
- if (values.length != editableFeatures.length)
- {
- return ParserEditStatus.UNEDITABLE_STATUS;
- }
- for (int i = 0; i < values.length; i++)
- {
- Object value = getValidNewValue(editableFeatures[i], values[i]);
- if (value instanceof InvalidValue)
- {
- return new ParserEditStatus(AcoreDiagramEditorPlugin.ID, IParserEditStatus.UNEDITABLE, value.toString());
- }
- }
- return ParserEditStatus.EDITABLE_STATUS;
- }
-
- /**
- * @generated
- */
- protected Object getValidNewValue(EAttribute feature, Object value)
- {
- EClassifier type = feature.getEType();
- if (type instanceof EDataType)
- {
- Class iClass = type.getInstanceClass();
- if (Boolean.TYPE.equals(iClass))
- {
- if (value instanceof Boolean)
- {
- // ok
- }
- else if (value instanceof String)
- {
- value = Boolean.valueOf((String)value);
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Character.TYPE.equals(iClass))
- {
- if (value instanceof Character)
- {
- // ok
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- value = new Character(s.charAt(0));
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Byte.TYPE.equals(iClass))
- {
- if (value instanceof Byte)
- {
- // ok
- }
- else if (value instanceof Number)
- {
- value = new Byte(((Number)value).byteValue());
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- try
- {
- value = Byte.valueOf(s);
- }
- catch (NumberFormatException nfe)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
- }
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Short.TYPE.equals(iClass))
- {
- if (value instanceof Short)
- {
- // ok
- }
- else if (value instanceof Number)
- {
- value = new Short(((Number)value).shortValue());
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- try
- {
- value = Short.valueOf(s);
- }
- catch (NumberFormatException nfe)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
- }
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Integer.TYPE.equals(iClass))
- {
- if (value instanceof Integer)
- {
- // ok
- }
- else if (value instanceof Number)
- {
- value = new Integer(((Number)value).intValue());
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- try
- {
- value = Integer.valueOf(s);
- }
- catch (NumberFormatException nfe)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
- }
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Long.TYPE.equals(iClass))
- {
- if (value instanceof Long)
- {
- // ok
- }
- else if (value instanceof Number)
- {
- value = new Long(((Number)value).longValue());
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- try
- {
- value = Long.valueOf(s);
- }
- catch (NumberFormatException nfe)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
- }
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Float.TYPE.equals(iClass))
- {
- if (value instanceof Float)
- {
- // ok
- }
- else if (value instanceof Number)
- {
- value = new Float(((Number)value).floatValue());
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- try
- {
- value = Float.valueOf(s);
- }
- catch (NumberFormatException nfe)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
- }
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (Double.TYPE.equals(iClass))
- {
- if (value instanceof Double)
- {
- // ok
- }
- else if (value instanceof Number)
- {
- value = new Double(((Number)value).doubleValue());
- }
- else if (value instanceof String)
- {
- String s = (String)value;
- if (s.length() == 0)
- {
- value = null;
- }
- else
- {
- try
- {
- value = Double.valueOf(s);
- }
- catch (NumberFormatException nfe)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
- }
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
- }
- }
- else if (type instanceof EEnum)
- {
- if (value instanceof String)
- {
- EEnumLiteral literal = ((EEnum)type).getEEnumLiteralByLiteral((String)value);
- if (literal == null)
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnknownLiteral, value));
- }
- else
- {
- value = literal.getInstance();
- }
- }
- else
- {
- value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, String.class.getName()));
- }
- }
- }
- return value;
- }
-
- /**
- * @generated
- */
- protected class InvalidValue
- {
-
- /**
- * @generated
- */
- private String description;
-
- /**
- * @generated
- */
- public InvalidValue(String description)
- {
- this.description = description;
- }
-
- /**
- * @generated
- */
- public String toString()
- {
- return description;
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EEnumLiteral;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.SetValueCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.osgi.util.NLS;
+
+import java.util.Arrays;
+
+/**
+ * @generated
+ */
+public abstract class AbstractParser implements IParser
+{
+
+ /**
+ * @generated
+ */
+ protected final EAttribute[] features;
+
+ /**
+ * @generated
+ */
+ protected final EAttribute[] editableFeatures;
+
+ /**
+ * @generated
+ */
+ private String viewPattern;
+
+ /**
+ * @generated
+ */
+ private String editorPattern;
+
+ /**
+ * @generated
+ */
+ private String editPattern;
+
+ /**
+ * @generated
+ */
+ public AbstractParser(EAttribute[] features)
+ {
+ if (features == null || Arrays.asList(features).contains(null))
+ {
+ throw new IllegalArgumentException();
+ }
+ this.editableFeatures = this.features = features;
+ }
+
+ /**
+ * @generated
+ */
+ public AbstractParser(EAttribute[] features, EAttribute[] editableFeatures)
+ {
+ if (features == null || Arrays.asList(features).contains(null))
+ {
+ throw new IllegalArgumentException();
+ }
+ this.features = features;
+ if (editableFeatures == null || Arrays.asList(editableFeatures).contains(null))
+ {
+ throw new IllegalArgumentException();
+ }
+ this.editableFeatures = editableFeatures;
+ }
+
+ /**
+ * @generated
+ */
+ public String getViewPattern()
+ {
+ return viewPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public void setViewPattern(String viewPattern)
+ {
+ this.viewPattern = viewPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditorPattern()
+ {
+ return editorPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public void setEditorPattern(String editorPattern)
+ {
+ this.editorPattern = editorPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditPattern()
+ {
+ return editPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public void setEditPattern(String editPattern)
+ {
+ this.editPattern = editPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isAffectingEvent(Object event, int flags)
+ {
+ if (event instanceof Notification)
+ {
+ return isAffectingFeature(((Notification)event).getFeature());
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isAffectingFeature(Object feature)
+ {
+ for (int i = 0; i < features.length; i++)
+ {
+ if (features[i] == feature)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public IContentAssistProcessor getCompletionProcessor(IAdaptable element)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected Object[] getValues(EObject element)
+ {
+ Object[] values = new Object[features.length];
+ for (int i = 0; i < features.length; i++)
+ {
+ values[i] = getValue(element, features[i]);
+ }
+ return values;
+ }
+
+ /**
+ * @generated
+ */
+ protected Object[] getEditableValues(EObject element)
+ {
+ Object[] values = new Object[editableFeatures.length];
+ for (int i = 0; i < editableFeatures.length; i++)
+ {
+ values[i] = getValue(element, editableFeatures[i]);
+ }
+ return values;
+ }
+
+ /**
+ * @generated
+ */
+ protected Object getValue(EObject element, EAttribute feature)
+ {
+ Object value = element.eGet(feature);
+ Class iClass = feature.getEAttributeType().getInstanceClass();
+ if (String.class.equals(iClass))
+ {
+ if (value == null)
+ {
+ value = ""; //$NON-NLS-1$
+ }
+ }
+ return value;
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getParseCommand(IAdaptable adapter, Object[] values, int flags)
+ {
+ if (values == null || validateNewValues(values).getCode() != IParserEditStatus.EDITABLE)
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+ EObject element = (EObject)adapter.getAdapter(EObject.class);
+ TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(element);
+ if (editingDomain == null)
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+ CompositeTransactionalCommand command = new CompositeTransactionalCommand(editingDomain, "Set Values"); //$NON-NLS-1$
+ for (int i = 0; i < values.length; i++)
+ {
+ command.compose(getModificationCommand(element, editableFeatures[i], values[i]));
+ }
+ return command;
+ }
+
+ /**
+ * @generated
+ */
+ protected ICommand getModificationCommand(EObject element, EAttribute feature, Object value)
+ {
+ value = getValidNewValue(feature, value);
+ if (value instanceof InvalidValue)
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+ SetRequest request = new SetRequest(element, feature, value);
+ return new SetValueCommand(request);
+ }
+
+ /**
+ * @generated
+ */
+ protected IParserEditStatus validateNewValues(Object[] values)
+ {
+ if (values.length != editableFeatures.length)
+ {
+ return ParserEditStatus.UNEDITABLE_STATUS;
+ }
+ for (int i = 0; i < values.length; i++)
+ {
+ Object value = getValidNewValue(editableFeatures[i], values[i]);
+ if (value instanceof InvalidValue)
+ {
+ return new ParserEditStatus(AcoreDiagramEditorPlugin.ID, IParserEditStatus.UNEDITABLE, value.toString());
+ }
+ }
+ return ParserEditStatus.EDITABLE_STATUS;
+ }
+
+ /**
+ * @generated
+ */
+ protected Object getValidNewValue(EAttribute feature, Object value)
+ {
+ EClassifier type = feature.getEType();
+ if (type instanceof EDataType)
+ {
+ Class iClass = type.getInstanceClass();
+ if (Boolean.TYPE.equals(iClass))
+ {
+ if (value instanceof Boolean)
+ {
+ // ok
+ }
+ else if (value instanceof String)
+ {
+ value = Boolean.valueOf((String)value);
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Character.TYPE.equals(iClass))
+ {
+ if (value instanceof Character)
+ {
+ // ok
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ value = new Character(s.charAt(0));
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Byte.TYPE.equals(iClass))
+ {
+ if (value instanceof Byte)
+ {
+ // ok
+ }
+ else if (value instanceof Number)
+ {
+ value = new Byte(((Number)value).byteValue());
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ try
+ {
+ value = Byte.valueOf(s);
+ }
+ catch (NumberFormatException nfe)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
+ }
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Short.TYPE.equals(iClass))
+ {
+ if (value instanceof Short)
+ {
+ // ok
+ }
+ else if (value instanceof Number)
+ {
+ value = new Short(((Number)value).shortValue());
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ try
+ {
+ value = Short.valueOf(s);
+ }
+ catch (NumberFormatException nfe)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
+ }
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Integer.TYPE.equals(iClass))
+ {
+ if (value instanceof Integer)
+ {
+ // ok
+ }
+ else if (value instanceof Number)
+ {
+ value = new Integer(((Number)value).intValue());
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ try
+ {
+ value = Integer.valueOf(s);
+ }
+ catch (NumberFormatException nfe)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
+ }
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Long.TYPE.equals(iClass))
+ {
+ if (value instanceof Long)
+ {
+ // ok
+ }
+ else if (value instanceof Number)
+ {
+ value = new Long(((Number)value).longValue());
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ try
+ {
+ value = Long.valueOf(s);
+ }
+ catch (NumberFormatException nfe)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
+ }
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Float.TYPE.equals(iClass))
+ {
+ if (value instanceof Float)
+ {
+ // ok
+ }
+ else if (value instanceof Number)
+ {
+ value = new Float(((Number)value).floatValue());
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ try
+ {
+ value = Float.valueOf(s);
+ }
+ catch (NumberFormatException nfe)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
+ }
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (Double.TYPE.equals(iClass))
+ {
+ if (value instanceof Double)
+ {
+ // ok
+ }
+ else if (value instanceof Number)
+ {
+ value = new Double(((Number)value).doubleValue());
+ }
+ else if (value instanceof String)
+ {
+ String s = (String)value;
+ if (s.length() == 0)
+ {
+ value = null;
+ }
+ else
+ {
+ try
+ {
+ value = Double.valueOf(s);
+ }
+ catch (NumberFormatException nfe)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_WrongStringConversion, iClass.getName()));
+ }
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, iClass.getName()));
+ }
+ }
+ else if (type instanceof EEnum)
+ {
+ if (value instanceof String)
+ {
+ EEnumLiteral literal = ((EEnum)type).getEEnumLiteralByLiteral((String)value);
+ if (literal == null)
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnknownLiteral, value));
+ }
+ else
+ {
+ value = literal.getInstance();
+ }
+ }
+ else
+ {
+ value = new InvalidValue(NLS.bind(Messages.AbstractParser_UnexpectedValueType, String.class.getName()));
+ }
+ }
+ }
+ return value;
+ }
+
+ /**
+ * @generated
+ */
+ protected class InvalidValue
+ {
+
+ /**
+ * @generated
+ */
+ private String description;
+
+ /**
+ * @generated
+ */
+ public InvalidValue(String description)
+ {
+ this.description = description;
+ }
+
+ /**
+ * @generated
+ */
+ public String toString()
+ {
+ return description;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/MessageFormatParser.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/MessageFormatParser.java
index 7dc329b7b1..9d268c9b6c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/MessageFormatParser.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/parsers/MessageFormatParser.java
@@ -1,228 +1,228 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
-import org.eclipse.osgi.util.NLS;
-
-import java.text.FieldPosition;
-import java.text.MessageFormat;
-import java.text.ParsePosition;
-
-/**
- * @generated
- */
-public class MessageFormatParser extends AbstractParser
-{
-
- /**
- * @generated
- */
- private String defaultPattern;
-
- /**
- * @generated
- */
- private String defaultEditablePattern;
-
- /**
- * @generated
- */
- private MessageFormat viewProcessor;
-
- /**
- * @generated
- */
- private MessageFormat editorProcessor;
-
- /**
- * @generated
- */
- private MessageFormat editProcessor;
-
- /**
- * @generated
- */
- public MessageFormatParser(EAttribute[] features)
- {
- super(features);
- }
-
- /**
- * @generated
- */
- public MessageFormatParser(EAttribute[] features, EAttribute[] editableFeatures)
- {
- super(features, editableFeatures);
- }
-
- /**
- * @generated
- */
- protected String getDefaultPattern()
- {
- if (defaultPattern == null)
- {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < features.length; i++)
- {
- if (i > 0)
- {
- sb.append(' ');
- }
- sb.append('{');
- sb.append(i);
- sb.append('}');
- }
- defaultPattern = sb.toString();
- }
- return defaultPattern;
- }
-
- /**
- * @generated
- */
- public void setViewPattern(String viewPattern)
- {
- super.setViewPattern(viewPattern);
- viewProcessor = null;
- }
-
- /**
- * @generated
- */
- public void setEditorPattern(String editorPattern)
- {
- super.setEditorPattern(editorPattern);
- editorProcessor = null;
- }
-
- /**
- * @generated
- */
- protected MessageFormat getViewProcessor()
- {
- if (viewProcessor == null)
- {
- viewProcessor = new MessageFormat(getViewPattern() == null ? getDefaultPattern() : getViewPattern());
- }
- return viewProcessor;
- }
-
- /**
- * @generated
- */
- protected MessageFormat getEditorProcessor()
- {
- if (editorProcessor == null)
- {
- editorProcessor = new MessageFormat(getEditorPattern() == null ? getDefaultEditablePattern() : getEditorPattern());
- }
- return editorProcessor;
- }
-
- /**
- * @generated
- */
- protected String getDefaultEditablePattern()
- {
- if (defaultEditablePattern == null)
- {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < editableFeatures.length; i++)
- {
- if (i > 0)
- {
- sb.append(' ');
- }
- sb.append('{');
- sb.append(i);
- sb.append('}');
- }
- defaultEditablePattern = sb.toString();
- }
- return defaultEditablePattern;
- }
-
- /**
- * @generated
- */
- public void setEditPattern(String editPattern)
- {
- super.setEditPattern(editPattern);
- editProcessor = null;
- }
-
- /**
- * @generated
- */
- protected MessageFormat getEditProcessor()
- {
- if (editProcessor == null)
- {
- editProcessor = new MessageFormat(getEditPattern() == null ? getDefaultEditablePattern() : getEditPattern());
- }
- return editProcessor;
- }
-
- /**
- * @generated
- */
- public String getEditString(IAdaptable adapter, int flags)
- {
- EObject element = (EObject)adapter.getAdapter(EObject.class);
- return getEditorProcessor().format(getEditableValues(element), new StringBuffer(), new FieldPosition(0)).toString();
- }
-
- /**
- * @generated
- */
- public IParserEditStatus isValidEditString(IAdaptable adapter, String editString)
- {
- ParsePosition pos = new ParsePosition(0);
- Object[] values = getEditProcessor().parse(editString, pos);
- if (values == null)
- {
- return new ParserEditStatus(AcoreDiagramEditorPlugin.ID, IParserEditStatus.UNEDITABLE, NLS.bind(
- Messages.MessageFormatParser_InvalidInputError, new Integer(pos.getErrorIndex())));
- }
- return validateNewValues(values);
- }
-
- /**
- * @generated
- */
- public ICommand getParseCommand(IAdaptable adapter, String newString, int flags)
- {
- Object[] values = getEditProcessor().parse(newString, new ParsePosition(0));
- return getParseCommand(adapter, values, flags);
- }
-
- /**
- * @generated
- */
- public String getPrintString(IAdaptable adapter, int flags)
- {
- EObject element = (EObject)adapter.getAdapter(EObject.class);
- return getViewProcessor().format(getValues(element), new StringBuffer(), new FieldPosition(0)).toString();
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus;
+import org.eclipse.osgi.util.NLS;
+
+import java.text.FieldPosition;
+import java.text.MessageFormat;
+import java.text.ParsePosition;
+
+/**
+ * @generated
+ */
+public class MessageFormatParser extends AbstractParser
+{
+
+ /**
+ * @generated
+ */
+ private String defaultPattern;
+
+ /**
+ * @generated
+ */
+ private String defaultEditablePattern;
+
+ /**
+ * @generated
+ */
+ private MessageFormat viewProcessor;
+
+ /**
+ * @generated
+ */
+ private MessageFormat editorProcessor;
+
+ /**
+ * @generated
+ */
+ private MessageFormat editProcessor;
+
+ /**
+ * @generated
+ */
+ public MessageFormatParser(EAttribute[] features)
+ {
+ super(features);
+ }
+
+ /**
+ * @generated
+ */
+ public MessageFormatParser(EAttribute[] features, EAttribute[] editableFeatures)
+ {
+ super(features, editableFeatures);
+ }
+
+ /**
+ * @generated
+ */
+ protected String getDefaultPattern()
+ {
+ if (defaultPattern == null)
+ {
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < features.length; i++)
+ {
+ if (i > 0)
+ {
+ sb.append(' ');
+ }
+ sb.append('{');
+ sb.append(i);
+ sb.append('}');
+ }
+ defaultPattern = sb.toString();
+ }
+ return defaultPattern;
+ }
+
+ /**
+ * @generated
+ */
+ public void setViewPattern(String viewPattern)
+ {
+ super.setViewPattern(viewPattern);
+ viewProcessor = null;
+ }
+
+ /**
+ * @generated
+ */
+ public void setEditorPattern(String editorPattern)
+ {
+ super.setEditorPattern(editorPattern);
+ editorProcessor = null;
+ }
+
+ /**
+ * @generated
+ */
+ protected MessageFormat getViewProcessor()
+ {
+ if (viewProcessor == null)
+ {
+ viewProcessor = new MessageFormat(getViewPattern() == null ? getDefaultPattern() : getViewPattern());
+ }
+ return viewProcessor;
+ }
+
+ /**
+ * @generated
+ */
+ protected MessageFormat getEditorProcessor()
+ {
+ if (editorProcessor == null)
+ {
+ editorProcessor = new MessageFormat(getEditorPattern() == null ? getDefaultEditablePattern() : getEditorPattern());
+ }
+ return editorProcessor;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getDefaultEditablePattern()
+ {
+ if (defaultEditablePattern == null)
+ {
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < editableFeatures.length; i++)
+ {
+ if (i > 0)
+ {
+ sb.append(' ');
+ }
+ sb.append('{');
+ sb.append(i);
+ sb.append('}');
+ }
+ defaultEditablePattern = sb.toString();
+ }
+ return defaultEditablePattern;
+ }
+
+ /**
+ * @generated
+ */
+ public void setEditPattern(String editPattern)
+ {
+ super.setEditPattern(editPattern);
+ editProcessor = null;
+ }
+
+ /**
+ * @generated
+ */
+ protected MessageFormat getEditProcessor()
+ {
+ if (editProcessor == null)
+ {
+ editProcessor = new MessageFormat(getEditPattern() == null ? getDefaultEditablePattern() : getEditPattern());
+ }
+ return editProcessor;
+ }
+
+ /**
+ * @generated
+ */
+ public String getEditString(IAdaptable adapter, int flags)
+ {
+ EObject element = (EObject)adapter.getAdapter(EObject.class);
+ return getEditorProcessor().format(getEditableValues(element), new StringBuffer(), new FieldPosition(0)).toString();
+ }
+
+ /**
+ * @generated
+ */
+ public IParserEditStatus isValidEditString(IAdaptable adapter, String editString)
+ {
+ ParsePosition pos = new ParsePosition(0);
+ Object[] values = getEditProcessor().parse(editString, pos);
+ if (values == null)
+ {
+ return new ParserEditStatus(AcoreDiagramEditorPlugin.ID, IParserEditStatus.UNEDITABLE, NLS.bind(
+ Messages.MessageFormatParser_InvalidInputError, new Integer(pos.getErrorIndex())));
+ }
+ return validateNewValues(values);
+ }
+
+ /**
+ * @generated
+ */
+ public ICommand getParseCommand(IAdaptable adapter, String newString, int flags)
+ {
+ Object[] values = getEditProcessor().parse(newString, new ParsePosition(0));
+ return getParseCommand(adapter, values, flags);
+ }
+
+ /**
+ * @generated
+ */
+ public String getPrintString(IAdaptable adapter, int flags)
+ {
+ EObject element = (EObject)adapter.getAdapter(EObject.class);
+ return getViewProcessor().format(getValues(element), new StringBuffer(), new FieldPosition(0)).toString();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizard.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizard.java
index 64fdf2f1a0..6f8fc0895a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizard.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizard.java
@@ -1,194 +1,194 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.ecore.resource.Resource;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * @generated
- */
-public class AcoreCreationWizard extends Wizard implements INewWizard
-{
-
- /**
- * @generated
- */
- private IWorkbench workbench;
-
- /**
- * @generated
- */
- protected IStructuredSelection selection;
-
- /**
- * @generated
- */
- protected AcoreCreationWizardPage diagramModelFilePage;
-
- /**
- * @generated
- */
- protected AcoreCreationWizardPage domainModelFilePage;
-
- /**
- * @generated
- */
- protected Resource diagram;
-
- /**
- * @generated
- */
- private boolean openNewlyCreatedDiagramEditor = true;
-
- /**
- * @generated
- */
- public IWorkbench getWorkbench()
- {
- return workbench;
- }
-
- /**
- * @generated
- */
- public IStructuredSelection getSelection()
- {
- return selection;
- }
-
- /**
- * @generated
- */
- public final Resource getDiagram()
- {
- return diagram;
- }
-
- /**
- * @generated
- */
- public final boolean isOpenNewlyCreatedDiagramEditor()
- {
- return openNewlyCreatedDiagramEditor;
- }
-
- /**
- * @generated
- */
- public void setOpenNewlyCreatedDiagramEditor(boolean openNewlyCreatedDiagramEditor)
- {
- this.openNewlyCreatedDiagramEditor = openNewlyCreatedDiagramEditor;
- }
-
- /**
- * @generated
- */
- public void init(IWorkbench workbench, IStructuredSelection selection)
- {
- this.workbench = workbench;
- this.selection = selection;
- setWindowTitle(Messages.AcoreCreationWizardTitle);
- setDefaultPageImageDescriptor(AcoreDiagramEditorPlugin.getBundledImageDescriptor("icons/wizban/NewAcoreWizard.gif")); //$NON-NLS-1$
- setNeedsProgressMonitor(true);
- }
-
- /**
- * @generated
- */
- public void addPages()
- {
- diagramModelFilePage = new AcoreCreationWizardPage("DiagramModelFile", getSelection(), "acore_diagram"); //$NON-NLS-1$ //$NON-NLS-2$
- diagramModelFilePage.setTitle(Messages.AcoreCreationWizard_DiagramModelFilePageTitle);
- diagramModelFilePage.setDescription(Messages.AcoreCreationWizard_DiagramModelFilePageDescription);
- addPage(diagramModelFilePage);
-
- domainModelFilePage = new AcoreCreationWizardPage("DomainModelFile", getSelection(), "acore") { //$NON-NLS-1$ //$NON-NLS-2$
-
- public void setVisible(boolean visible)
- {
- if (visible)
- {
- String fileName = diagramModelFilePage.getFileName();
- fileName = fileName.substring(0, fileName.length() - ".acore_diagram".length()); //$NON-NLS-1$
- setFileName(AcoreDiagramEditorUtil.getUniqueFileName(getContainerFullPath(), fileName, "acore")); //$NON-NLS-1$
- }
- super.setVisible(visible);
- }
- };
- domainModelFilePage.setTitle(Messages.AcoreCreationWizard_DomainModelFilePageTitle);
- domainModelFilePage.setDescription(Messages.AcoreCreationWizard_DomainModelFilePageDescription);
- addPage(domainModelFilePage);
- }
-
- /**
- * @generated
- */
- public boolean performFinish()
- {
- IRunnableWithProgress op = new WorkspaceModifyOperation(null)
- {
-
- protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException
- {
- diagram = AcoreDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(),
- monitor);
- if (isOpenNewlyCreatedDiagramEditor() && diagram != null)
- {
- try
- {
- AcoreDiagramEditorUtil.openDiagram(diagram);
- }
- catch (PartInitException e)
- {
- ErrorDialog.openError(getContainer().getShell(), Messages.AcoreCreationWizardOpenEditorError, null,
- e.getStatus());
- }
- }
- }
- };
- try
- {
- getContainer().run(false, true, op);
- }
- catch (InterruptedException e)
- {
- return false;
- }
- catch (InvocationTargetException e)
- {
- if (e.getTargetException() instanceof CoreException)
- {
- ErrorDialog.openError(getContainer().getShell(), Messages.AcoreCreationWizardCreationError, null,
- ((CoreException)e.getTargetException()).getStatus());
- }
- else
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Error creating diagram", e.getTargetException()); //$NON-NLS-1$
- }
- return false;
- }
- return diagram != null;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * @generated
+ */
+public class AcoreCreationWizard extends Wizard implements INewWizard
+{
+
+ /**
+ * @generated
+ */
+ private IWorkbench workbench;
+
+ /**
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * @generated
+ */
+ protected AcoreCreationWizardPage diagramModelFilePage;
+
+ /**
+ * @generated
+ */
+ protected AcoreCreationWizardPage domainModelFilePage;
+
+ /**
+ * @generated
+ */
+ protected Resource diagram;
+
+ /**
+ * @generated
+ */
+ private boolean openNewlyCreatedDiagramEditor = true;
+
+ /**
+ * @generated
+ */
+ public IWorkbench getWorkbench()
+ {
+ return workbench;
+ }
+
+ /**
+ * @generated
+ */
+ public IStructuredSelection getSelection()
+ {
+ return selection;
+ }
+
+ /**
+ * @generated
+ */
+ public final Resource getDiagram()
+ {
+ return diagram;
+ }
+
+ /**
+ * @generated
+ */
+ public final boolean isOpenNewlyCreatedDiagramEditor()
+ {
+ return openNewlyCreatedDiagramEditor;
+ }
+
+ /**
+ * @generated
+ */
+ public void setOpenNewlyCreatedDiagramEditor(boolean openNewlyCreatedDiagramEditor)
+ {
+ this.openNewlyCreatedDiagramEditor = openNewlyCreatedDiagramEditor;
+ }
+
+ /**
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection)
+ {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(Messages.AcoreCreationWizardTitle);
+ setDefaultPageImageDescriptor(AcoreDiagramEditorPlugin.getBundledImageDescriptor("icons/wizban/NewAcoreWizard.gif")); //$NON-NLS-1$
+ setNeedsProgressMonitor(true);
+ }
+
+ /**
+ * @generated
+ */
+ public void addPages()
+ {
+ diagramModelFilePage = new AcoreCreationWizardPage("DiagramModelFile", getSelection(), "acore_diagram"); //$NON-NLS-1$ //$NON-NLS-2$
+ diagramModelFilePage.setTitle(Messages.AcoreCreationWizard_DiagramModelFilePageTitle);
+ diagramModelFilePage.setDescription(Messages.AcoreCreationWizard_DiagramModelFilePageDescription);
+ addPage(diagramModelFilePage);
+
+ domainModelFilePage = new AcoreCreationWizardPage("DomainModelFile", getSelection(), "acore") { //$NON-NLS-1$ //$NON-NLS-2$
+
+ public void setVisible(boolean visible)
+ {
+ if (visible)
+ {
+ String fileName = diagramModelFilePage.getFileName();
+ fileName = fileName.substring(0, fileName.length() - ".acore_diagram".length()); //$NON-NLS-1$
+ setFileName(AcoreDiagramEditorUtil.getUniqueFileName(getContainerFullPath(), fileName, "acore")); //$NON-NLS-1$
+ }
+ super.setVisible(visible);
+ }
+ };
+ domainModelFilePage.setTitle(Messages.AcoreCreationWizard_DomainModelFilePageTitle);
+ domainModelFilePage.setDescription(Messages.AcoreCreationWizard_DomainModelFilePageDescription);
+ addPage(domainModelFilePage);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean performFinish()
+ {
+ IRunnableWithProgress op = new WorkspaceModifyOperation(null)
+ {
+
+ protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException
+ {
+ diagram = AcoreDiagramEditorUtil.createDiagram(diagramModelFilePage.getURI(), domainModelFilePage.getURI(),
+ monitor);
+ if (isOpenNewlyCreatedDiagramEditor() && diagram != null)
+ {
+ try
+ {
+ AcoreDiagramEditorUtil.openDiagram(diagram);
+ }
+ catch (PartInitException e)
+ {
+ ErrorDialog.openError(getContainer().getShell(), Messages.AcoreCreationWizardOpenEditorError, null,
+ e.getStatus());
+ }
+ }
+ }
+ };
+ try
+ {
+ getContainer().run(false, true, op);
+ }
+ catch (InterruptedException e)
+ {
+ return false;
+ }
+ catch (InvocationTargetException e)
+ {
+ if (e.getTargetException() instanceof CoreException)
+ {
+ ErrorDialog.openError(getContainer().getShell(), Messages.AcoreCreationWizardCreationError, null,
+ ((CoreException)e.getTargetException()).getStatus());
+ }
+ else
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Error creating diagram", e.getTargetException()); //$NON-NLS-1$
+ }
+ return false;
+ }
+ return diagram != null;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizardPage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizardPage.java
index 889aaa1766..557eecbddc 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizardPage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreCreationWizardPage.java
@@ -1,106 +1,106 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-/**
- * @generated
- */
-public class AcoreCreationWizardPage extends WizardNewFileCreationPage
-{
-
- /**
- * @generated
- */
- private final String fileExtension;
-
- /**
- * @generated
- */
- public AcoreCreationWizardPage(String pageName, IStructuredSelection selection, String fileExtension)
- {
- super(pageName, selection);
- this.fileExtension = fileExtension;
- }
-
- /**
- * Override to create files with this extension.
- *
- * @generated
- */
- protected String getExtension()
- {
- return fileExtension;
- }
-
- /**
- * @generated
- */
- public URI getURI()
- {
- return URI.createPlatformResourceURI(getFilePath().toString(), false);
- }
-
- /**
- * @generated
- */
- protected IPath getFilePath()
- {
- IPath path = getContainerFullPath();
- if (path == null)
- {
- path = new Path(""); //$NON-NLS-1$
- }
- String fileName = getFileName();
- if (fileName != null)
- {
- path = path.append(fileName);
- }
- return path;
- }
-
- /**
- * @generated
- */
- public void createControl(Composite parent)
- {
- super.createControl(parent);
- setFileName(AcoreDiagramEditorUtil.getUniqueFileName(getContainerFullPath(), getFileName(), getExtension()));
- setPageComplete(validatePage());
- }
-
- /**
- * @generated
- */
- protected boolean validatePage()
- {
- if (!super.validatePage())
- {
- return false;
- }
- String extension = getExtension();
- if (extension != null && !getFilePath().toString().endsWith("." + extension))
- {
- setErrorMessage(NLS.bind(Messages.AcoreCreationWizardPageExtensionError, extension));
- return false;
- }
- return true;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+/**
+ * @generated
+ */
+public class AcoreCreationWizardPage extends WizardNewFileCreationPage
+{
+
+ /**
+ * @generated
+ */
+ private final String fileExtension;
+
+ /**
+ * @generated
+ */
+ public AcoreCreationWizardPage(String pageName, IStructuredSelection selection, String fileExtension)
+ {
+ super(pageName, selection);
+ this.fileExtension = fileExtension;
+ }
+
+ /**
+ * Override to create files with this extension.
+ *
+ * @generated
+ */
+ protected String getExtension()
+ {
+ return fileExtension;
+ }
+
+ /**
+ * @generated
+ */
+ public URI getURI()
+ {
+ return URI.createPlatformResourceURI(getFilePath().toString(), false);
+ }
+
+ /**
+ * @generated
+ */
+ protected IPath getFilePath()
+ {
+ IPath path = getContainerFullPath();
+ if (path == null)
+ {
+ path = new Path(""); //$NON-NLS-1$
+ }
+ String fileName = getFileName();
+ if (fileName != null)
+ {
+ path = path.append(fileName);
+ }
+ return path;
+ }
+
+ /**
+ * @generated
+ */
+ public void createControl(Composite parent)
+ {
+ super.createControl(parent);
+ setFileName(AcoreDiagramEditorUtil.getUniqueFileName(getContainerFullPath(), getFileName(), getExtension()));
+ setPageComplete(validatePage());
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean validatePage()
+ {
+ if (!super.validatePage())
+ {
+ return false;
+ }
+ String extension = getExtension();
+ if (extension != null && !getFilePath().toString().endsWith("." + extension))
+ {
+ setErrorMessage(NLS.bind(Messages.AcoreCreationWizardPageExtensionError, extension));
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramActionBarContributor.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramActionBarContributor.java
index 5e53d1f80c..8a2ba46df7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramActionBarContributor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramActionBarContributor.java
@@ -1,53 +1,53 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramActionBarContributor;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-
-/**
- * @generated
- */
-public class AcoreDiagramActionBarContributor extends DiagramActionBarContributor
-{
-
- /**
- * @generated
- */
- protected Class getEditorClass()
- {
- return AcoreDiagramEditor.class;
- }
-
- /**
- * @generated
- */
- protected String getEditorId()
- {
- return AcoreDiagramEditor.ID;
- }
-
- /**
- * @generated
- */
- public void init(IActionBars bars, IWorkbenchPage page)
- {
- super.init(bars, page);
- // print preview
- IMenuManager fileMenu = bars.getMenuManager().findMenuUsingPath(IWorkbenchActionConstants.M_FILE);
- assert fileMenu != null;
- fileMenu.remove("pageSetupAction"); //$NON-NLS-1$
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramActionBarContributor;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPage;
+
+/**
+ * @generated
+ */
+public class AcoreDiagramActionBarContributor extends DiagramActionBarContributor
+{
+
+ /**
+ * @generated
+ */
+ protected Class getEditorClass()
+ {
+ return AcoreDiagramEditor.class;
+ }
+
+ /**
+ * @generated
+ */
+ protected String getEditorId()
+ {
+ return AcoreDiagramEditor.ID;
+ }
+
+ /**
+ * @generated
+ */
+ public void init(IActionBars bars, IWorkbenchPage page)
+ {
+ super.init(bars, page);
+ // print preview
+ IMenuManager fileMenu = bars.getMenuManager().findMenuUsingPath(IWorkbenchActionConstants.M_FILE);
+ assert fileMenu != null;
+ fileMenu.remove("pageSetupAction"); //$NON-NLS-1$
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditor.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditor.java
index 1a5a0a3e9e..8ab403dd9a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditor.java
@@ -1,327 +1,327 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem;
-
-import org.eclipse.emf.common.ui.URIEditorInput;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gmf.runtime.common.ui.services.marker.MarkerNavigationService;
-import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
-import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocument;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocumentProvider;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorMatchingStrategy;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.navigator.resources.ProjectExplorer;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ShowInContext;
-
-/**
- * @generated
- */
-public class AcoreDiagramEditor extends DiagramDocumentEditor implements IGotoMarker
-{
-
- /**
- * @generated
- */
- public static final String ID = "org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final String CONTEXT_ID = "org.eclipse.emf.cdo.dawn.examples.acore.diagram.ui.diagramContext"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public AcoreDiagramEditor()
- {
- super(true);
- }
-
- /**
- * @generated
- */
- protected String getContextID()
- {
- return CONTEXT_ID;
- }
-
- /**
- * @generated
- */
- protected PaletteRoot createPaletteRoot(PaletteRoot existingPaletteRoot)
- {
- PaletteRoot root = super.createPaletteRoot(existingPaletteRoot);
- new AcorePaletteFactory().fillPalette(root);
- return root;
- }
-
- /**
- * @generated
- */
- protected PreferencesHint getPreferencesHint()
- {
- return AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
- }
-
- /**
- * @generated
- */
- public String getContributorId()
- {
- return AcoreDiagramEditorPlugin.ID;
- }
-
- /**
- * @generated
- */
- public Object getAdapter(Class type)
- {
- if (type == IShowInTargetList.class)
- {
- return new IShowInTargetList()
- {
- public String[] getShowInTargetIds()
- {
- return new String[] { ProjectExplorer.VIEW_ID };
- }
- };
- }
- return super.getAdapter(type);
- }
-
- /**
- * @generated
- */
- protected IDocumentProvider getDocumentProvider(IEditorInput input)
- {
- if (input instanceof IFileEditorInput || input instanceof URIEditorInput)
- {
- return AcoreDiagramEditorPlugin.getInstance().getDocumentProvider();
- }
- return super.getDocumentProvider(input);
- }
-
- /**
- * @generated
- */
- public TransactionalEditingDomain getEditingDomain()
- {
- IDocument document = getEditorInput() != null ? getDocumentProvider().getDocument(getEditorInput()) : null;
- if (document instanceof IDiagramDocument)
- {
- return ((IDiagramDocument)document).getEditingDomain();
- }
- return super.getEditingDomain();
- }
-
- /**
- * @generated
- */
- protected void setDocumentProvider(IEditorInput input)
- {
- if (input instanceof IFileEditorInput || input instanceof URIEditorInput)
- {
- setDocumentProvider(AcoreDiagramEditorPlugin.getInstance().getDocumentProvider());
- }
- else
- {
- super.setDocumentProvider(input);
- }
- }
-
- /**
- * @generated
- */
- public void gotoMarker(IMarker marker)
- {
- MarkerNavigationService.getInstance().gotoMarker(this, marker);
- }
-
- /**
- * @generated
- */
- public boolean isSaveAsAllowed()
- {
- return true;
- }
-
- /**
- * @generated
- */
- public void doSaveAs()
- {
- performSaveAs(new NullProgressMonitor());
- }
-
- /**
- * @generated
- */
- protected void performSaveAs(IProgressMonitor progressMonitor)
- {
- Shell shell = getSite().getShell();
- IEditorInput input = getEditorInput();
- SaveAsDialog dialog = new SaveAsDialog(shell);
- IFile original = input instanceof IFileEditorInput ? ((IFileEditorInput)input).getFile() : null;
- if (original != null)
- {
- dialog.setOriginalFile(original);
- }
- dialog.create();
- IDocumentProvider provider = getDocumentProvider();
- if (provider == null)
- {
- // editor has been programmatically closed while the dialog was open
- return;
- }
- if (provider.isDeleted(input) && original != null)
- {
- String message = NLS.bind(Messages.AcoreDiagramEditor_SavingDeletedFile, original.getName());
- dialog.setErrorMessage(null);
- dialog.setMessage(message, IMessageProvider.WARNING);
- }
- if (dialog.open() == Window.CANCEL)
- {
- if (progressMonitor != null)
- {
- progressMonitor.setCanceled(true);
- }
- return;
- }
- IPath filePath = dialog.getResult();
- if (filePath == null)
- {
- if (progressMonitor != null)
- {
- progressMonitor.setCanceled(true);
- }
- return;
- }
- IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
- IFile file = workspaceRoot.getFile(filePath);
- final IEditorInput newInput = new FileEditorInput(file);
- // Check if the editor is already open
- IEditorMatchingStrategy matchingStrategy = getEditorDescriptor().getEditorMatchingStrategy();
- IEditorReference[] editorRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
- .getEditorReferences();
- for (int i = 0; i < editorRefs.length; i++)
- {
- if (matchingStrategy.matches(editorRefs[i], newInput))
- {
- MessageDialog.openWarning(shell, Messages.AcoreDiagramEditor_SaveAsErrorTitle,
- Messages.AcoreDiagramEditor_SaveAsErrorMessage);
- return;
- }
- }
- boolean success = false;
- try
- {
- provider.aboutToChange(newInput);
- getDocumentProvider(newInput).saveDocument(progressMonitor, newInput,
- getDocumentProvider().getDocument(getEditorInput()), true);
- success = true;
- }
- catch (CoreException x)
- {
- IStatus status = x.getStatus();
- if (status == null || status.getSeverity() != IStatus.CANCEL)
- {
- ErrorDialog.openError(shell, Messages.AcoreDiagramEditor_SaveErrorTitle,
- Messages.AcoreDiagramEditor_SaveErrorMessage, x.getStatus());
- }
- }
- finally
- {
- provider.changed(newInput);
- if (success)
- {
- setInput(newInput);
- }
- }
- if (progressMonitor != null)
- {
- progressMonitor.setCanceled(!success);
- }
- }
-
- /**
- * @generated
- */
- public ShowInContext getShowInContext()
- {
- return new ShowInContext(getEditorInput(), getNavigatorSelection());
- }
-
- /**
- * @generated
- */
- private ISelection getNavigatorSelection()
- {
- IDiagramDocument document = getDiagramDocument();
- if (document == null)
- {
- return StructuredSelection.EMPTY;
- }
- Diagram diagram = document.getDiagram();
- IFile file = WorkspaceSynchronizer.getFile(diagram.eResource());
- if (file != null)
- {
- AcoreNavigatorItem item = new AcoreNavigatorItem(diagram, file, false);
- return new StructuredSelection(item);
- }
- return StructuredSelection.EMPTY;
- }
-
- /**
- * @generated
- */
- protected void configureGraphicalViewer()
- {
- super.configureGraphicalViewer();
- DiagramEditorContextMenuProvider provider = new DiagramEditorContextMenuProvider(this, getDiagramGraphicalViewer());
- getDiagramGraphicalViewer().setContextMenu(provider);
- getSite().registerContextMenu(ActionIds.DIAGRAM_EDITOR_CONTEXT_MENU, provider, getDiagramGraphicalViewer());
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorItem;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gmf.runtime.common.ui.services.marker.MarkerNavigationService;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocument;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocumentProvider;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.window.Window;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorMatchingStrategy;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.SaveAsDialog;
+import org.eclipse.ui.ide.IGotoMarker;
+import org.eclipse.ui.navigator.resources.ProjectExplorer;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.IShowInTargetList;
+import org.eclipse.ui.part.ShowInContext;
+
+/**
+ * @generated
+ */
+public class AcoreDiagramEditor extends DiagramDocumentEditor implements IGotoMarker
+{
+
+ /**
+ * @generated
+ */
+ public static final String ID = "org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorID"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final String CONTEXT_ID = "org.eclipse.emf.cdo.dawn.examples.acore.diagram.ui.diagramContext"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public AcoreDiagramEditor()
+ {
+ super(true);
+ }
+
+ /**
+ * @generated
+ */
+ protected String getContextID()
+ {
+ return CONTEXT_ID;
+ }
+
+ /**
+ * @generated
+ */
+ protected PaletteRoot createPaletteRoot(PaletteRoot existingPaletteRoot)
+ {
+ PaletteRoot root = super.createPaletteRoot(existingPaletteRoot);
+ new AcorePaletteFactory().fillPalette(root);
+ return root;
+ }
+
+ /**
+ * @generated
+ */
+ protected PreferencesHint getPreferencesHint()
+ {
+ return AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ }
+
+ /**
+ * @generated
+ */
+ public String getContributorId()
+ {
+ return AcoreDiagramEditorPlugin.ID;
+ }
+
+ /**
+ * @generated
+ */
+ public Object getAdapter(Class type)
+ {
+ if (type == IShowInTargetList.class)
+ {
+ return new IShowInTargetList()
+ {
+ public String[] getShowInTargetIds()
+ {
+ return new String[] { ProjectExplorer.VIEW_ID };
+ }
+ };
+ }
+ return super.getAdapter(type);
+ }
+
+ /**
+ * @generated
+ */
+ protected IDocumentProvider getDocumentProvider(IEditorInput input)
+ {
+ if (input instanceof IFileEditorInput || input instanceof URIEditorInput)
+ {
+ return AcoreDiagramEditorPlugin.getInstance().getDocumentProvider();
+ }
+ return super.getDocumentProvider(input);
+ }
+
+ /**
+ * @generated
+ */
+ public TransactionalEditingDomain getEditingDomain()
+ {
+ IDocument document = getEditorInput() != null ? getDocumentProvider().getDocument(getEditorInput()) : null;
+ if (document instanceof IDiagramDocument)
+ {
+ return ((IDiagramDocument)document).getEditingDomain();
+ }
+ return super.getEditingDomain();
+ }
+
+ /**
+ * @generated
+ */
+ protected void setDocumentProvider(IEditorInput input)
+ {
+ if (input instanceof IFileEditorInput || input instanceof URIEditorInput)
+ {
+ setDocumentProvider(AcoreDiagramEditorPlugin.getInstance().getDocumentProvider());
+ }
+ else
+ {
+ super.setDocumentProvider(input);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void gotoMarker(IMarker marker)
+ {
+ MarkerNavigationService.getInstance().gotoMarker(this, marker);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isSaveAsAllowed()
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public void doSaveAs()
+ {
+ performSaveAs(new NullProgressMonitor());
+ }
+
+ /**
+ * @generated
+ */
+ protected void performSaveAs(IProgressMonitor progressMonitor)
+ {
+ Shell shell = getSite().getShell();
+ IEditorInput input = getEditorInput();
+ SaveAsDialog dialog = new SaveAsDialog(shell);
+ IFile original = input instanceof IFileEditorInput ? ((IFileEditorInput)input).getFile() : null;
+ if (original != null)
+ {
+ dialog.setOriginalFile(original);
+ }
+ dialog.create();
+ IDocumentProvider provider = getDocumentProvider();
+ if (provider == null)
+ {
+ // editor has been programmatically closed while the dialog was open
+ return;
+ }
+ if (provider.isDeleted(input) && original != null)
+ {
+ String message = NLS.bind(Messages.AcoreDiagramEditor_SavingDeletedFile, original.getName());
+ dialog.setErrorMessage(null);
+ dialog.setMessage(message, IMessageProvider.WARNING);
+ }
+ if (dialog.open() == Window.CANCEL)
+ {
+ if (progressMonitor != null)
+ {
+ progressMonitor.setCanceled(true);
+ }
+ return;
+ }
+ IPath filePath = dialog.getResult();
+ if (filePath == null)
+ {
+ if (progressMonitor != null)
+ {
+ progressMonitor.setCanceled(true);
+ }
+ return;
+ }
+ IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+ IFile file = workspaceRoot.getFile(filePath);
+ final IEditorInput newInput = new FileEditorInput(file);
+ // Check if the editor is already open
+ IEditorMatchingStrategy matchingStrategy = getEditorDescriptor().getEditorMatchingStrategy();
+ IEditorReference[] editorRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .getEditorReferences();
+ for (int i = 0; i < editorRefs.length; i++)
+ {
+ if (matchingStrategy.matches(editorRefs[i], newInput))
+ {
+ MessageDialog.openWarning(shell, Messages.AcoreDiagramEditor_SaveAsErrorTitle,
+ Messages.AcoreDiagramEditor_SaveAsErrorMessage);
+ return;
+ }
+ }
+ boolean success = false;
+ try
+ {
+ provider.aboutToChange(newInput);
+ getDocumentProvider(newInput).saveDocument(progressMonitor, newInput,
+ getDocumentProvider().getDocument(getEditorInput()), true);
+ success = true;
+ }
+ catch (CoreException x)
+ {
+ IStatus status = x.getStatus();
+ if (status == null || status.getSeverity() != IStatus.CANCEL)
+ {
+ ErrorDialog.openError(shell, Messages.AcoreDiagramEditor_SaveErrorTitle,
+ Messages.AcoreDiagramEditor_SaveErrorMessage, x.getStatus());
+ }
+ }
+ finally
+ {
+ provider.changed(newInput);
+ if (success)
+ {
+ setInput(newInput);
+ }
+ }
+ if (progressMonitor != null)
+ {
+ progressMonitor.setCanceled(!success);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public ShowInContext getShowInContext()
+ {
+ return new ShowInContext(getEditorInput(), getNavigatorSelection());
+ }
+
+ /**
+ * @generated
+ */
+ private ISelection getNavigatorSelection()
+ {
+ IDiagramDocument document = getDiagramDocument();
+ if (document == null)
+ {
+ return StructuredSelection.EMPTY;
+ }
+ Diagram diagram = document.getDiagram();
+ IFile file = WorkspaceSynchronizer.getFile(diagram.eResource());
+ if (file != null)
+ {
+ AcoreNavigatorItem item = new AcoreNavigatorItem(diagram, file, false);
+ return new StructuredSelection(item);
+ }
+ return StructuredSelection.EMPTY;
+ }
+
+ /**
+ * @generated
+ */
+ protected void configureGraphicalViewer()
+ {
+ super.configureGraphicalViewer();
+ DiagramEditorContextMenuProvider provider = new DiagramEditorContextMenuProvider(this, getDiagramGraphicalViewer());
+ getDiagramGraphicalViewer().setContextMenu(provider);
+ getSite().registerContextMenu(ActionIds.DIAGRAM_EDITOR_CONTEXT_MENU, provider, getDiagramGraphicalViewer());
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorPlugin.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorPlugin.java
index b03e53cf9f..d3bbf60561 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorPlugin.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorPlugin.java
@@ -1,285 +1,285 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.provider.AcoreItemProviderAdapterFactory;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
-import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.osgi.framework.BundleContext;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AcoreDiagramEditorPlugin extends AbstractUIPlugin
-{
-
- /**
- * @generated
- */
- public static final String ID = "org.eclipse.emf.cdo.dawn.examples.acore.diagram"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final PreferencesHint DIAGRAM_PREFERENCES_HINT = new PreferencesHint(ID);
-
- /**
- * @generated
- */
- private static AcoreDiagramEditorPlugin instance;
-
- /**
- * @generated
- */
- private ComposedAdapterFactory adapterFactory;
-
- /**
- * @generated
- */
- private AcoreDocumentProvider documentProvider;
-
- /**
- * @generated
- */
- public AcoreDiagramEditorPlugin()
- {
- }
-
- /**
- * @generated
- */
- public void start(BundleContext context) throws Exception
- {
- super.start(context);
- instance = this;
- PreferencesHint.registerPreferenceStore(DIAGRAM_PREFERENCES_HINT, getPreferenceStore());
- adapterFactory = createAdapterFactory();
- }
-
- /**
- * @generated
- */
- public void stop(BundleContext context) throws Exception
- {
- adapterFactory.dispose();
- adapterFactory = null;
- instance = null;
- super.stop(context);
- }
-
- /**
- * @generated
- */
- public static AcoreDiagramEditorPlugin getInstance()
- {
- return instance;
- }
-
- /**
- * @generated
- */
- protected ComposedAdapterFactory createAdapterFactory()
- {
- List factories = new ArrayList();
- fillItemProviderFactories(factories);
- return new ComposedAdapterFactory(factories);
- }
-
- /**
- * @generated
- */
- protected void fillItemProviderFactories(List factories)
- {
- factories.add(new AcoreItemProviderAdapterFactory());
- factories.add(new ResourceItemProviderAdapterFactory());
- factories.add(new ReflectiveItemProviderAdapterFactory());
- }
-
- /**
- * @generated
- */
- public AdapterFactory getItemProvidersAdapterFactory()
- {
- return adapterFactory;
- }
-
- /**
- * @generated
- */
- public ImageDescriptor getItemImageDescriptor(Object item)
- {
- IItemLabelProvider labelProvider = (IItemLabelProvider)adapterFactory.adapt(item, IItemLabelProvider.class);
- if (labelProvider != null)
- {
- return ExtendedImageRegistry.getInstance().getImageDescriptor(labelProvider.getImage(item));
- }
- return null;
- }
-
- /**
- * Returns an image descriptor for the image file at the given plug-in relative path.
- *
- * @generated
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getBundledImageDescriptor(String path)
- {
- return AbstractUIPlugin.imageDescriptorFromPlugin(ID, path);
- }
-
- /**
- * Respects images residing in any plug-in. If path is relative, then this bundle is looked up for the image,
- * otherwise, for absolute path, first segment is taken as id of plug-in with image
- *
- * @generated
- * @param path
- * the path to image, either absolute (with plug-in id as first segment), or relative for bundled images
- * @return the image descriptor
- */
- public static ImageDescriptor findImageDescriptor(String path)
- {
- final IPath p = new Path(path);
- if (p.isAbsolute() && p.segmentCount() > 1)
- {
- return AbstractUIPlugin.imageDescriptorFromPlugin(p.segment(0), p.removeFirstSegments(1).makeAbsolute()
- .toString());
- }
- else
- {
- return getBundledImageDescriptor(p.makeAbsolute().toString());
- }
- }
-
- /**
- * Returns an image for the image file at the given plug-in relative path. Client do not need to dispose this image.
- * Images will be disposed automatically.
- *
- * @generated
- * @param path
- * the path
- * @return image instance
- */
- public Image getBundledImage(String path)
- {
- Image image = getImageRegistry().get(path);
- if (image == null)
- {
- getImageRegistry().put(path, getBundledImageDescriptor(path));
- image = getImageRegistry().get(path);
- }
- return image;
- }
-
- /**
- * Returns string from plug-in's resource bundle
- *
- * @generated
- */
- public static String getString(String key)
- {
- return Platform.getResourceString(getInstance().getBundle(), "%" + key); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- public AcoreDocumentProvider getDocumentProvider()
- {
- if (documentProvider == null)
- {
- documentProvider = new AcoreDocumentProvider();
- }
- return documentProvider;
- }
-
- /**
- * @generated
- */
- public void logError(String error)
- {
- logError(error, null);
- }
-
- /**
- * @generated
- */
- public void logError(String error, Throwable throwable)
- {
- if (error == null && throwable != null)
- {
- error = throwable.getMessage();
- }
- getLog().log(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, IStatus.OK, error, throwable));
- debug(error, throwable);
- }
-
- /**
- * @generated
- */
- public void logInfo(String message)
- {
- logInfo(message, null);
- }
-
- /**
- * @generated
- */
- public void logInfo(String message, Throwable throwable)
- {
- if (message == null && throwable != null)
- {
- message = throwable.getMessage();
- }
- getLog().log(new Status(IStatus.INFO, AcoreDiagramEditorPlugin.ID, IStatus.OK, message, throwable));
- debug(message, throwable);
- }
-
- /**
- * @generated
- */
- private void debug(String message, Throwable throwable)
- {
- if (!isDebugging())
- {
- return;
- }
- if (message != null)
- {
- System.err.println(message);
- }
- if (throwable != null)
- {
- throwable.printStackTrace();
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.provider.AcoreItemProviderAdapterFactory;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+import org.osgi.framework.BundleContext;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AcoreDiagramEditorPlugin extends AbstractUIPlugin
+{
+
+ /**
+ * @generated
+ */
+ public static final String ID = "org.eclipse.emf.cdo.dawn.examples.acore.diagram"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final PreferencesHint DIAGRAM_PREFERENCES_HINT = new PreferencesHint(ID);
+
+ /**
+ * @generated
+ */
+ private static AcoreDiagramEditorPlugin instance;
+
+ /**
+ * @generated
+ */
+ private ComposedAdapterFactory adapterFactory;
+
+ /**
+ * @generated
+ */
+ private AcoreDocumentProvider documentProvider;
+
+ /**
+ * @generated
+ */
+ public AcoreDiagramEditorPlugin()
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void start(BundleContext context) throws Exception
+ {
+ super.start(context);
+ instance = this;
+ PreferencesHint.registerPreferenceStore(DIAGRAM_PREFERENCES_HINT, getPreferenceStore());
+ adapterFactory = createAdapterFactory();
+ }
+
+ /**
+ * @generated
+ */
+ public void stop(BundleContext context) throws Exception
+ {
+ adapterFactory.dispose();
+ adapterFactory = null;
+ instance = null;
+ super.stop(context);
+ }
+
+ /**
+ * @generated
+ */
+ public static AcoreDiagramEditorPlugin getInstance()
+ {
+ return instance;
+ }
+
+ /**
+ * @generated
+ */
+ protected ComposedAdapterFactory createAdapterFactory()
+ {
+ List factories = new ArrayList();
+ fillItemProviderFactories(factories);
+ return new ComposedAdapterFactory(factories);
+ }
+
+ /**
+ * @generated
+ */
+ protected void fillItemProviderFactories(List factories)
+ {
+ factories.add(new AcoreItemProviderAdapterFactory());
+ factories.add(new ResourceItemProviderAdapterFactory());
+ factories.add(new ReflectiveItemProviderAdapterFactory());
+ }
+
+ /**
+ * @generated
+ */
+ public AdapterFactory getItemProvidersAdapterFactory()
+ {
+ return adapterFactory;
+ }
+
+ /**
+ * @generated
+ */
+ public ImageDescriptor getItemImageDescriptor(Object item)
+ {
+ IItemLabelProvider labelProvider = (IItemLabelProvider)adapterFactory.adapt(item, IItemLabelProvider.class);
+ if (labelProvider != null)
+ {
+ return ExtendedImageRegistry.getInstance().getImageDescriptor(labelProvider.getImage(item));
+ }
+ return null;
+ }
+
+ /**
+ * Returns an image descriptor for the image file at the given plug-in relative path.
+ *
+ * @generated
+ * @param path
+ * the path
+ * @return the image descriptor
+ */
+ public static ImageDescriptor getBundledImageDescriptor(String path)
+ {
+ return AbstractUIPlugin.imageDescriptorFromPlugin(ID, path);
+ }
+
+ /**
+ * Respects images residing in any plug-in. If path is relative, then this bundle is looked up for the image,
+ * otherwise, for absolute path, first segment is taken as id of plug-in with image
+ *
+ * @generated
+ * @param path
+ * the path to image, either absolute (with plug-in id as first segment), or relative for bundled images
+ * @return the image descriptor
+ */
+ public static ImageDescriptor findImageDescriptor(String path)
+ {
+ final IPath p = new Path(path);
+ if (p.isAbsolute() && p.segmentCount() > 1)
+ {
+ return AbstractUIPlugin.imageDescriptorFromPlugin(p.segment(0), p.removeFirstSegments(1).makeAbsolute()
+ .toString());
+ }
+ else
+ {
+ return getBundledImageDescriptor(p.makeAbsolute().toString());
+ }
+ }
+
+ /**
+ * Returns an image for the image file at the given plug-in relative path. Client do not need to dispose this image.
+ * Images will be disposed automatically.
+ *
+ * @generated
+ * @param path
+ * the path
+ * @return image instance
+ */
+ public Image getBundledImage(String path)
+ {
+ Image image = getImageRegistry().get(path);
+ if (image == null)
+ {
+ getImageRegistry().put(path, getBundledImageDescriptor(path));
+ image = getImageRegistry().get(path);
+ }
+ return image;
+ }
+
+ /**
+ * Returns string from plug-in's resource bundle
+ *
+ * @generated
+ */
+ public static String getString(String key)
+ {
+ return Platform.getResourceString(getInstance().getBundle(), "%" + key); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ public AcoreDocumentProvider getDocumentProvider()
+ {
+ if (documentProvider == null)
+ {
+ documentProvider = new AcoreDocumentProvider();
+ }
+ return documentProvider;
+ }
+
+ /**
+ * @generated
+ */
+ public void logError(String error)
+ {
+ logError(error, null);
+ }
+
+ /**
+ * @generated
+ */
+ public void logError(String error, Throwable throwable)
+ {
+ if (error == null && throwable != null)
+ {
+ error = throwable.getMessage();
+ }
+ getLog().log(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, IStatus.OK, error, throwable));
+ debug(error, throwable);
+ }
+
+ /**
+ * @generated
+ */
+ public void logInfo(String message)
+ {
+ logInfo(message, null);
+ }
+
+ /**
+ * @generated
+ */
+ public void logInfo(String message, Throwable throwable)
+ {
+ if (message == null && throwable != null)
+ {
+ message = throwable.getMessage();
+ }
+ getLog().log(new Status(IStatus.INFO, AcoreDiagramEditorPlugin.ID, IStatus.OK, message, throwable));
+ debug(message, throwable);
+ }
+
+ /**
+ * @generated
+ */
+ private void debug(String message, Throwable throwable)
+ {
+ if (!isDebugging())
+ {
+ return;
+ }
+ if (message != null)
+ {
+ System.err.println(message);
+ }
+ if (throwable != null)
+ {
+ throwable.printStackTrace();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorUtil.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorUtil.java
index 255c5b26d1..238d07817b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorUtil.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramEditorUtil.java
@@ -1,451 +1,451 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.OperationHistoryFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramGraphicalViewer;
-import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramWorkbenchPart;
-import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
-import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @generated
- */
-public class AcoreDiagramEditorUtil
-{
-
- /**
- * @generated
- */
- public static Map getSaveOptions()
- {
- Map saveOptions = new HashMap();
- saveOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
- saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
- return saveOptions;
- }
-
- /**
- * @generated
- */
- public static boolean openDiagram(Resource diagram) throws PartInitException
- {
- String path = diagram.getURI().toPlatformString(true);
- IResource workspaceResource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(path));
- if (workspaceResource instanceof IFile)
- {
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- return null != page.openEditor(new FileEditorInput((IFile)workspaceResource), AcoreDiagramEditor.ID);
- }
- return false;
- }
-
- /**
- * @generated
- */
- public static void setCharset(IFile file)
- {
- if (file == null)
- {
- return;
- }
- try
- {
- file.setCharset("UTF-8", new NullProgressMonitor()); //$NON-NLS-1$
- }
- catch (CoreException e)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to set charset for file " + file.getFullPath(), e); //$NON-NLS-1$
- }
- }
-
- /**
- * @generated
- */
- public static String getUniqueFileName(IPath containerFullPath, String fileName, String extension)
- {
- if (containerFullPath == null)
- {
- containerFullPath = new Path(""); //$NON-NLS-1$
- }
- if (fileName == null || fileName.trim().length() == 0)
- {
- fileName = "default"; //$NON-NLS-1$
- }
- IPath filePath = containerFullPath.append(fileName);
- if (extension != null && !extension.equals(filePath.getFileExtension()))
- {
- filePath = filePath.addFileExtension(extension);
- }
- extension = filePath.getFileExtension();
- fileName = filePath.removeFileExtension().lastSegment();
- int i = 1;
- while (ResourcesPlugin.getWorkspace().getRoot().exists(filePath))
- {
- i++;
- filePath = containerFullPath.append(fileName + i);
- if (extension != null)
- {
- filePath = filePath.addFileExtension(extension);
- }
- }
- return filePath.lastSegment();
- }
-
- /**
- * Runs the wizard in a dialog.
- *
- * @generated
- */
- public static void runWizard(Shell shell, Wizard wizard, String settingsKey)
- {
- IDialogSettings pluginDialogSettings = AcoreDiagramEditorPlugin.getInstance().getDialogSettings();
- IDialogSettings wizardDialogSettings = pluginDialogSettings.getSection(settingsKey);
- if (wizardDialogSettings == null)
- {
- wizardDialogSettings = pluginDialogSettings.addNewSection(settingsKey);
- }
- wizard.setDialogSettings(wizardDialogSettings);
- WizardDialog dialog = new WizardDialog(shell, wizard);
- dialog.create();
- dialog.getShell().setSize(Math.max(500, dialog.getShell().getSize().x), 500);
- dialog.open();
- }
-
- /**
- * This method should be called within a workspace modify operation since it creates resources.
- *
- * @generated
- */
- public static Resource createDiagram(URI diagramURI, URI modelURI, IProgressMonitor progressMonitor)
- {
- TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
- progressMonitor.beginTask(Messages.AcoreDiagramEditorUtil_CreateDiagramProgressTask, 3);
- final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI);
- final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI);
- final String diagramName = diagramURI.lastSegment();
- AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain,
- Messages.AcoreDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST)
- {
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- ACoreRoot model = createInitialModel();
- attachModelToResource(model, modelResource);
-
- Diagram diagram = ViewService.createDiagram(model, ACoreRootEditPart.MODEL_ID,
- AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT);
- if (diagram != null)
- {
- diagramResource.getContents().add(diagram);
- diagram.setName(diagramName);
- diagram.setElement(model);
- }
-
- try
- {
- modelResource.save(org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorUtil
- .getSaveOptions());
- diagramResource.save(org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorUtil
- .getSaveOptions());
- }
- catch (IOException e)
- {
-
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to store model and diagram resources", e); //$NON-NLS-1$
- }
- return CommandResult.newOKCommandResult();
- }
- };
- try
- {
- OperationHistoryFactory.getOperationHistory().execute(command, new SubProgressMonitor(progressMonitor, 1), null);
- }
- catch (ExecutionException e)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to create model and diagram", e); //$NON-NLS-1$
- }
- setCharset(WorkspaceSynchronizer.getFile(modelResource));
- setCharset(WorkspaceSynchronizer.getFile(diagramResource));
- return diagramResource;
- }
-
- /**
- * Create a new instance of domain element associated with canvas. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private static ACoreRoot createInitialModel()
- {
- return AcoreFactory.eINSTANCE.createACoreRoot();
- }
-
- /**
- * Store model element in the resource. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private static void attachModelToResource(ACoreRoot model, Resource resource)
- {
- resource.getContents().add(model);
- }
-
- /**
- * @generated
- */
- public static void selectElementsInDiagram(IDiagramWorkbenchPart diagramPart, List/* EditPart */editParts)
- {
- diagramPart.getDiagramGraphicalViewer().deselectAll();
-
- EditPart firstPrimary = null;
- for (Iterator it = editParts.iterator(); it.hasNext();)
- {
- EditPart nextPart = (EditPart)it.next();
- diagramPart.getDiagramGraphicalViewer().appendSelection(nextPart);
- if (firstPrimary == null && nextPart instanceof IPrimaryEditPart)
- {
- firstPrimary = nextPart;
- }
- }
-
- if (!editParts.isEmpty())
- {
- diagramPart.getDiagramGraphicalViewer().reveal(firstPrimary != null ? firstPrimary : (EditPart)editParts.get(0));
- }
- }
-
- /**
- * @generated
- */
- private static int findElementsInDiagramByID(DiagramEditPart diagramPart, EObject element, List editPartCollector)
- {
- IDiagramGraphicalViewer viewer = (IDiagramGraphicalViewer)diagramPart.getViewer();
- final int intialNumOfEditParts = editPartCollector.size();
-
- if (element instanceof View)
- { // support notation element lookup
- EditPart editPart = (EditPart)viewer.getEditPartRegistry().get(element);
- if (editPart != null)
- {
- editPartCollector.add(editPart);
- return 1;
- }
- }
-
- String elementID = EMFCoreUtil.getProxyID(element);
- List associatedParts = viewer.findEditPartsForElement(elementID, IGraphicalEditPart.class);
- // perform the possible hierarchy disjoint -> take the top-most parts only
- for (Iterator editPartIt = associatedParts.iterator(); editPartIt.hasNext();)
- {
- EditPart nextPart = (EditPart)editPartIt.next();
- EditPart parentPart = nextPart.getParent();
- while (parentPart != null && !associatedParts.contains(parentPart))
- {
- parentPart = parentPart.getParent();
- }
- if (parentPart == null)
- {
- editPartCollector.add(nextPart);
- }
- }
-
- if (intialNumOfEditParts == editPartCollector.size())
- {
- if (!associatedParts.isEmpty())
- {
- editPartCollector.add(associatedParts.iterator().next());
- }
- else
- {
- if (element.eContainer() != null)
- {
- return findElementsInDiagramByID(diagramPart, element.eContainer(), editPartCollector);
- }
- }
- }
- return editPartCollector.size() - intialNumOfEditParts;
- }
-
- /**
- * @generated
- */
- public static View findView(DiagramEditPart diagramEditPart, EObject targetElement,
- LazyElement2ViewMap lazyElement2ViewMap)
- {
- boolean hasStructuralURI = false;
- if (targetElement.eResource() instanceof XMLResource)
- {
- hasStructuralURI = ((XMLResource)targetElement.eResource()).getID(targetElement) == null;
- }
-
- View view = null;
- if (hasStructuralURI && !lazyElement2ViewMap.getElement2ViewMap().isEmpty())
- {
- view = (View)lazyElement2ViewMap.getElement2ViewMap().get(targetElement);
- }
- else if (findElementsInDiagramByID(diagramEditPart, targetElement, lazyElement2ViewMap.editPartTmpHolder) > 0)
- {
- EditPart editPart = (EditPart)lazyElement2ViewMap.editPartTmpHolder.get(0);
- lazyElement2ViewMap.editPartTmpHolder.clear();
- view = editPart.getModel() instanceof View ? (View)editPart.getModel() : null;
- }
-
- return (view == null) ? diagramEditPart.getDiagramView() : view;
- }
-
- /**
- * @generated
- */
- public static class LazyElement2ViewMap
- {
- /**
- * @generated
- */
- private Map element2ViewMap;
-
- /**
- * @generated
- */
- private View scope;
-
- /**
- * @generated
- */
- private Set elementSet;
-
- /**
- * @generated
- */
- public final List editPartTmpHolder = new ArrayList();
-
- /**
- * @generated
- */
- public LazyElement2ViewMap(View scope, Set elements)
- {
- this.scope = scope;
- this.elementSet = elements;
- }
-
- /**
- * @generated
- */
- public final Map getElement2ViewMap()
- {
- if (element2ViewMap == null)
- {
- element2ViewMap = new HashMap();
- // map possible notation elements to itself as these can't be found by view.getElement()
- for (Iterator it = elementSet.iterator(); it.hasNext();)
- {
- EObject element = (EObject)it.next();
- if (element instanceof View)
- {
- View view = (View)element;
- if (view.getDiagram() == scope.getDiagram())
- {
- element2ViewMap.put(element, element); // take only those that part of our diagram
- }
- }
- }
-
- buildElement2ViewMap(scope, element2ViewMap, elementSet);
- }
- return element2ViewMap;
- }
-
- /**
- * @generated
- */
- static Map buildElement2ViewMap(View parentView, Map element2ViewMap, Set elements)
- {
- if (elements.size() == element2ViewMap.size())
- return element2ViewMap;
-
- if (parentView.isSetElement() && !element2ViewMap.containsKey(parentView.getElement())
- && elements.contains(parentView.getElement()))
- {
- element2ViewMap.put(parentView.getElement(), parentView);
- if (elements.size() == element2ViewMap.size())
- return element2ViewMap;
- }
-
- for (Iterator it = parentView.getChildren().iterator(); it.hasNext();)
- {
- buildElement2ViewMap((View)it.next(), element2ViewMap, elements);
- if (elements.size() == element2ViewMap.size())
- return element2ViewMap;
- }
- for (Iterator it = parentView.getSourceEdges().iterator(); it.hasNext();)
- {
- buildElement2ViewMap((View)it.next(), element2ViewMap, elements);
- if (elements.size() == element2ViewMap.size())
- return element2ViewMap;
- }
- for (Iterator it = parentView.getSourceEdges().iterator(); it.hasNext();)
- {
- buildElement2ViewMap((View)it.next(), element2ViewMap, elements);
- if (elements.size() == element2ViewMap.size())
- return element2ViewMap;
- }
- return element2ViewMap;
- }
- } // LazyElement2ViewMap
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.OperationHistoryFactory;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramGraphicalViewer;
+import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramWorkbenchPart;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.FileEditorInput;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @generated
+ */
+public class AcoreDiagramEditorUtil
+{
+
+ /**
+ * @generated
+ */
+ public static Map getSaveOptions()
+ {
+ Map saveOptions = new HashMap();
+ saveOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ return saveOptions;
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean openDiagram(Resource diagram) throws PartInitException
+ {
+ String path = diagram.getURI().toPlatformString(true);
+ IResource workspaceResource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(path));
+ if (workspaceResource instanceof IFile)
+ {
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ return null != page.openEditor(new FileEditorInput((IFile)workspaceResource), AcoreDiagramEditor.ID);
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public static void setCharset(IFile file)
+ {
+ if (file == null)
+ {
+ return;
+ }
+ try
+ {
+ file.setCharset("UTF-8", new NullProgressMonitor()); //$NON-NLS-1$
+ }
+ catch (CoreException e)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to set charset for file " + file.getFullPath(), e); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public static String getUniqueFileName(IPath containerFullPath, String fileName, String extension)
+ {
+ if (containerFullPath == null)
+ {
+ containerFullPath = new Path(""); //$NON-NLS-1$
+ }
+ if (fileName == null || fileName.trim().length() == 0)
+ {
+ fileName = "default"; //$NON-NLS-1$
+ }
+ IPath filePath = containerFullPath.append(fileName);
+ if (extension != null && !extension.equals(filePath.getFileExtension()))
+ {
+ filePath = filePath.addFileExtension(extension);
+ }
+ extension = filePath.getFileExtension();
+ fileName = filePath.removeFileExtension().lastSegment();
+ int i = 1;
+ while (ResourcesPlugin.getWorkspace().getRoot().exists(filePath))
+ {
+ i++;
+ filePath = containerFullPath.append(fileName + i);
+ if (extension != null)
+ {
+ filePath = filePath.addFileExtension(extension);
+ }
+ }
+ return filePath.lastSegment();
+ }
+
+ /**
+ * Runs the wizard in a dialog.
+ *
+ * @generated
+ */
+ public static void runWizard(Shell shell, Wizard wizard, String settingsKey)
+ {
+ IDialogSettings pluginDialogSettings = AcoreDiagramEditorPlugin.getInstance().getDialogSettings();
+ IDialogSettings wizardDialogSettings = pluginDialogSettings.getSection(settingsKey);
+ if (wizardDialogSettings == null)
+ {
+ wizardDialogSettings = pluginDialogSettings.addNewSection(settingsKey);
+ }
+ wizard.setDialogSettings(wizardDialogSettings);
+ WizardDialog dialog = new WizardDialog(shell, wizard);
+ dialog.create();
+ dialog.getShell().setSize(Math.max(500, dialog.getShell().getSize().x), 500);
+ dialog.open();
+ }
+
+ /**
+ * This method should be called within a workspace modify operation since it creates resources.
+ *
+ * @generated
+ */
+ public static Resource createDiagram(URI diagramURI, URI modelURI, IProgressMonitor progressMonitor)
+ {
+ TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
+ progressMonitor.beginTask(Messages.AcoreDiagramEditorUtil_CreateDiagramProgressTask, 3);
+ final Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI);
+ final Resource modelResource = editingDomain.getResourceSet().createResource(modelURI);
+ final String diagramName = diagramURI.lastSegment();
+ AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain,
+ Messages.AcoreDiagramEditorUtil_CreateDiagramCommandLabel, Collections.EMPTY_LIST)
+ {
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ ACoreRoot model = createInitialModel();
+ attachModelToResource(model, modelResource);
+
+ Diagram diagram = ViewService.createDiagram(model, ACoreRootEditPart.MODEL_ID,
+ AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT);
+ if (diagram != null)
+ {
+ diagramResource.getContents().add(diagram);
+ diagram.setName(diagramName);
+ diagram.setElement(model);
+ }
+
+ try
+ {
+ modelResource.save(org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorUtil
+ .getSaveOptions());
+ diagramResource.save(org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorUtil
+ .getSaveOptions());
+ }
+ catch (IOException e)
+ {
+
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to store model and diagram resources", e); //$NON-NLS-1$
+ }
+ return CommandResult.newOKCommandResult();
+ }
+ };
+ try
+ {
+ OperationHistoryFactory.getOperationHistory().execute(command, new SubProgressMonitor(progressMonitor, 1), null);
+ }
+ catch (ExecutionException e)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to create model and diagram", e); //$NON-NLS-1$
+ }
+ setCharset(WorkspaceSynchronizer.getFile(modelResource));
+ setCharset(WorkspaceSynchronizer.getFile(diagramResource));
+ return diagramResource;
+ }
+
+ /**
+ * Create a new instance of domain element associated with canvas. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static ACoreRoot createInitialModel()
+ {
+ return AcoreFactory.eINSTANCE.createACoreRoot();
+ }
+
+ /**
+ * Store model element in the resource. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static void attachModelToResource(ACoreRoot model, Resource resource)
+ {
+ resource.getContents().add(model);
+ }
+
+ /**
+ * @generated
+ */
+ public static void selectElementsInDiagram(IDiagramWorkbenchPart diagramPart, List/* EditPart */editParts)
+ {
+ diagramPart.getDiagramGraphicalViewer().deselectAll();
+
+ EditPart firstPrimary = null;
+ for (Iterator it = editParts.iterator(); it.hasNext();)
+ {
+ EditPart nextPart = (EditPart)it.next();
+ diagramPart.getDiagramGraphicalViewer().appendSelection(nextPart);
+ if (firstPrimary == null && nextPart instanceof IPrimaryEditPart)
+ {
+ firstPrimary = nextPart;
+ }
+ }
+
+ if (!editParts.isEmpty())
+ {
+ diagramPart.getDiagramGraphicalViewer().reveal(firstPrimary != null ? firstPrimary : (EditPart)editParts.get(0));
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private static int findElementsInDiagramByID(DiagramEditPart diagramPart, EObject element, List editPartCollector)
+ {
+ IDiagramGraphicalViewer viewer = (IDiagramGraphicalViewer)diagramPart.getViewer();
+ final int intialNumOfEditParts = editPartCollector.size();
+
+ if (element instanceof View)
+ { // support notation element lookup
+ EditPart editPart = (EditPart)viewer.getEditPartRegistry().get(element);
+ if (editPart != null)
+ {
+ editPartCollector.add(editPart);
+ return 1;
+ }
+ }
+
+ String elementID = EMFCoreUtil.getProxyID(element);
+ List associatedParts = viewer.findEditPartsForElement(elementID, IGraphicalEditPart.class);
+ // perform the possible hierarchy disjoint -> take the top-most parts only
+ for (Iterator editPartIt = associatedParts.iterator(); editPartIt.hasNext();)
+ {
+ EditPart nextPart = (EditPart)editPartIt.next();
+ EditPart parentPart = nextPart.getParent();
+ while (parentPart != null && !associatedParts.contains(parentPart))
+ {
+ parentPart = parentPart.getParent();
+ }
+ if (parentPart == null)
+ {
+ editPartCollector.add(nextPart);
+ }
+ }
+
+ if (intialNumOfEditParts == editPartCollector.size())
+ {
+ if (!associatedParts.isEmpty())
+ {
+ editPartCollector.add(associatedParts.iterator().next());
+ }
+ else
+ {
+ if (element.eContainer() != null)
+ {
+ return findElementsInDiagramByID(diagramPart, element.eContainer(), editPartCollector);
+ }
+ }
+ }
+ return editPartCollector.size() - intialNumOfEditParts;
+ }
+
+ /**
+ * @generated
+ */
+ public static View findView(DiagramEditPart diagramEditPart, EObject targetElement,
+ LazyElement2ViewMap lazyElement2ViewMap)
+ {
+ boolean hasStructuralURI = false;
+ if (targetElement.eResource() instanceof XMLResource)
+ {
+ hasStructuralURI = ((XMLResource)targetElement.eResource()).getID(targetElement) == null;
+ }
+
+ View view = null;
+ if (hasStructuralURI && !lazyElement2ViewMap.getElement2ViewMap().isEmpty())
+ {
+ view = (View)lazyElement2ViewMap.getElement2ViewMap().get(targetElement);
+ }
+ else if (findElementsInDiagramByID(diagramEditPart, targetElement, lazyElement2ViewMap.editPartTmpHolder) > 0)
+ {
+ EditPart editPart = (EditPart)lazyElement2ViewMap.editPartTmpHolder.get(0);
+ lazyElement2ViewMap.editPartTmpHolder.clear();
+ view = editPart.getModel() instanceof View ? (View)editPart.getModel() : null;
+ }
+
+ return (view == null) ? diagramEditPart.getDiagramView() : view;
+ }
+
+ /**
+ * @generated
+ */
+ public static class LazyElement2ViewMap
+ {
+ /**
+ * @generated
+ */
+ private Map element2ViewMap;
+
+ /**
+ * @generated
+ */
+ private View scope;
+
+ /**
+ * @generated
+ */
+ private Set elementSet;
+
+ /**
+ * @generated
+ */
+ public final List editPartTmpHolder = new ArrayList();
+
+ /**
+ * @generated
+ */
+ public LazyElement2ViewMap(View scope, Set elements)
+ {
+ this.scope = scope;
+ this.elementSet = elements;
+ }
+
+ /**
+ * @generated
+ */
+ public final Map getElement2ViewMap()
+ {
+ if (element2ViewMap == null)
+ {
+ element2ViewMap = new HashMap();
+ // map possible notation elements to itself as these can't be found by view.getElement()
+ for (Iterator it = elementSet.iterator(); it.hasNext();)
+ {
+ EObject element = (EObject)it.next();
+ if (element instanceof View)
+ {
+ View view = (View)element;
+ if (view.getDiagram() == scope.getDiagram())
+ {
+ element2ViewMap.put(element, element); // take only those that part of our diagram
+ }
+ }
+ }
+
+ buildElement2ViewMap(scope, element2ViewMap, elementSet);
+ }
+ return element2ViewMap;
+ }
+
+ /**
+ * @generated
+ */
+ static Map buildElement2ViewMap(View parentView, Map element2ViewMap, Set elements)
+ {
+ if (elements.size() == element2ViewMap.size())
+ return element2ViewMap;
+
+ if (parentView.isSetElement() && !element2ViewMap.containsKey(parentView.getElement())
+ && elements.contains(parentView.getElement()))
+ {
+ element2ViewMap.put(parentView.getElement(), parentView);
+ if (elements.size() == element2ViewMap.size())
+ return element2ViewMap;
+ }
+
+ for (Iterator it = parentView.getChildren().iterator(); it.hasNext();)
+ {
+ buildElement2ViewMap((View)it.next(), element2ViewMap, elements);
+ if (elements.size() == element2ViewMap.size())
+ return element2ViewMap;
+ }
+ for (Iterator it = parentView.getSourceEdges().iterator(); it.hasNext();)
+ {
+ buildElement2ViewMap((View)it.next(), element2ViewMap, elements);
+ if (elements.size() == element2ViewMap.size())
+ return element2ViewMap;
+ }
+ for (Iterator it = parentView.getSourceEdges().iterator(); it.hasNext();)
+ {
+ buildElement2ViewMap((View)it.next(), element2ViewMap, elements);
+ if (elements.size() == element2ViewMap.size())
+ return element2ViewMap;
+ }
+ return element2ViewMap;
+ }
+ } // LazyElement2ViewMap
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdateCommand.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdateCommand.java
index 0d85589147..273d2d04a9 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdateCommand.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdateCommand.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.commands.IHandlerListener;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AcoreDiagramUpdateCommand implements IHandler
-{
-
- /**
- * @generated
- */
- public void addHandlerListener(IHandlerListener handlerListener)
- {
- }
-
- /**
- * @generated
- */
- public void dispose()
- {
- }
-
- /**
- * @generated
- */
- public Object execute(ExecutionEvent event) throws ExecutionException
- {
- ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
- if (selection instanceof IStructuredSelection)
- {
- IStructuredSelection structuredSelection = (IStructuredSelection)selection;
- if (structuredSelection.size() != 1)
- {
- return null;
- }
- if (structuredSelection.getFirstElement() instanceof EditPart
- && ((EditPart)structuredSelection.getFirstElement()).getModel() instanceof View)
- {
- EObject modelElement = ((View)((EditPart)structuredSelection.getFirstElement()).getModel()).getElement();
- List editPolicies = CanonicalEditPolicy.getRegisteredEditPolicies(modelElement);
- for (Iterator it = editPolicies.iterator(); it.hasNext();)
- {
- CanonicalEditPolicy nextEditPolicy = (CanonicalEditPolicy)it.next();
- nextEditPolicy.refresh();
- }
-
- }
- }
- return null;
- }
-
- /**
- * @generated
- */
- public boolean isEnabled()
- {
- return true;
- }
-
- /**
- * @generated
- */
- public boolean isHandled()
- {
- return true;
- }
-
- /**
- * @generated
- */
- public void removeHandlerListener(IHandlerListener handlerListener)
- {
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.commands.IHandlerListener;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEditPolicy;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.PlatformUI;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AcoreDiagramUpdateCommand implements IHandler
+{
+
+ /**
+ * @generated
+ */
+ public void addHandlerListener(IHandlerListener handlerListener)
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public Object execute(ExecutionEvent event) throws ExecutionException
+ {
+ ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
+ if (selection instanceof IStructuredSelection)
+ {
+ IStructuredSelection structuredSelection = (IStructuredSelection)selection;
+ if (structuredSelection.size() != 1)
+ {
+ return null;
+ }
+ if (structuredSelection.getFirstElement() instanceof EditPart
+ && ((EditPart)structuredSelection.getFirstElement()).getModel() instanceof View)
+ {
+ EObject modelElement = ((View)((EditPart)structuredSelection.getFirstElement()).getModel()).getElement();
+ List editPolicies = CanonicalEditPolicy.getRegisteredEditPolicies(modelElement);
+ for (Iterator it = editPolicies.iterator(); it.hasNext();)
+ {
+ CanonicalEditPolicy nextEditPolicy = (CanonicalEditPolicy)it.next();
+ nextEditPolicy.refresh();
+ }
+
+ }
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isEnabled()
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isHandled()
+ {
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public void removeHandlerListener(IHandlerListener handlerListener)
+ {
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdater.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdater.java
index ee59339f29..c4a8c272a6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdater.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDiagramUpdater.java
@@ -1,654 +1,654 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @generated
- */
-public class AcoreDiagramUpdater
-{
-
- /**
- * @generated
- */
- public static List<AcoreNodeDescriptor> getSemanticChildren(View view)
- {
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case ACoreRootEditPart.VISUAL_ID:
- return getACoreRoot_1000SemanticChildren(view);
- case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
- return getAInterfaceAAttributeInterfaceCompartment_7001SemanticChildren(view);
- case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
- return getAInterfaceAOperationInterfaceCompartment_7002SemanticChildren(view);
- case AClassAAttributeCompartmentEditPart.VISUAL_ID:
- return getAClassAAttributeCompartment_7003SemanticChildren(view);
- case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
- return getAClassAOperationClassCompartment_7004SemanticChildren(view);
- }
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreNodeDescriptor> getACoreRoot_1000SemanticChildren(View view)
- {
- if (!view.isSetElement())
- {
- return Collections.emptyList();
- }
- ACoreRoot modelElement = (ACoreRoot)view.getElement();
- LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
- for (Iterator it = modelElement.getInterfaces().iterator(); it.hasNext();)
- {
- AInterface childElement = (AInterface)it.next();
- int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
- if (visualID == AInterfaceEditPart.VISUAL_ID)
- {
- result.add(new AcoreNodeDescriptor(childElement, visualID));
- continue;
- }
- }
- for (Iterator it = modelElement.getClasses().iterator(); it.hasNext();)
- {
- AClass childElement = (AClass)it.next();
- int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
- if (visualID == AClassEditPart.VISUAL_ID)
- {
- result.add(new AcoreNodeDescriptor(childElement, visualID));
- continue;
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreNodeDescriptor> getAInterfaceAAttributeInterfaceCompartment_7001SemanticChildren(View view)
- {
- if (false == view.eContainer() instanceof View)
- {
- return Collections.emptyList();
- }
- View containerView = (View)view.eContainer();
- if (!containerView.isSetElement())
- {
- return Collections.emptyList();
- }
- AInterface modelElement = (AInterface)containerView.getElement();
- LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
- for (Iterator it = modelElement.getAttributes().iterator(); it.hasNext();)
- {
- AAttribute childElement = (AAttribute)it.next();
- int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
- if (visualID == AAttributeEditPart.VISUAL_ID)
- {
- result.add(new AcoreNodeDescriptor(childElement, visualID));
- continue;
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreNodeDescriptor> getAInterfaceAOperationInterfaceCompartment_7002SemanticChildren(View view)
- {
- if (false == view.eContainer() instanceof View)
- {
- return Collections.emptyList();
- }
- View containerView = (View)view.eContainer();
- if (!containerView.isSetElement())
- {
- return Collections.emptyList();
- }
- AInterface modelElement = (AInterface)containerView.getElement();
- LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
- for (Iterator it = modelElement.getOperations().iterator(); it.hasNext();)
- {
- AOperation childElement = (AOperation)it.next();
- int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
- if (visualID == AOperationEditPart.VISUAL_ID)
- {
- result.add(new AcoreNodeDescriptor(childElement, visualID));
- continue;
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreNodeDescriptor> getAClassAAttributeCompartment_7003SemanticChildren(View view)
- {
- if (false == view.eContainer() instanceof View)
- {
- return Collections.emptyList();
- }
- View containerView = (View)view.eContainer();
- if (!containerView.isSetElement())
- {
- return Collections.emptyList();
- }
- AClass modelElement = (AClass)containerView.getElement();
- LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
- for (Iterator it = modelElement.getAttributes().iterator(); it.hasNext();)
- {
- AAttribute childElement = (AAttribute)it.next();
- int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
- if (visualID == AAttribute2EditPart.VISUAL_ID)
- {
- result.add(new AcoreNodeDescriptor(childElement, visualID));
- continue;
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreNodeDescriptor> getAClassAOperationClassCompartment_7004SemanticChildren(View view)
- {
- if (false == view.eContainer() instanceof View)
- {
- return Collections.emptyList();
- }
- View containerView = (View)view.eContainer();
- if (!containerView.isSetElement())
- {
- return Collections.emptyList();
- }
- AClass modelElement = (AClass)containerView.getElement();
- LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
- for (Iterator it = modelElement.getOperations().iterator(); it.hasNext();)
- {
- AOperation childElement = (AOperation)it.next();
- int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
- if (visualID == AOperation2EditPart.VISUAL_ID)
- {
- result.add(new AcoreNodeDescriptor(childElement, visualID));
- continue;
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getContainedLinks(View view)
- {
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case ACoreRootEditPart.VISUAL_ID:
- return getACoreRoot_1000ContainedLinks(view);
- case AInterfaceEditPart.VISUAL_ID:
- return getAInterface_2001ContainedLinks(view);
- case AClassEditPart.VISUAL_ID:
- return getAClass_2002ContainedLinks(view);
- case AAttributeEditPart.VISUAL_ID:
- return getAAttribute_3001ContainedLinks(view);
- case AOperationEditPart.VISUAL_ID:
- return getAOperation_3002ContainedLinks(view);
- case AAttribute2EditPart.VISUAL_ID:
- return getAAttribute_3003ContainedLinks(view);
- case AOperation2EditPart.VISUAL_ID:
- return getAOperation_3004ContainedLinks(view);
- }
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getIncomingLinks(View view)
- {
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case AInterfaceEditPart.VISUAL_ID:
- return getAInterface_2001IncomingLinks(view);
- case AClassEditPart.VISUAL_ID:
- return getAClass_2002IncomingLinks(view);
- case AAttributeEditPart.VISUAL_ID:
- return getAAttribute_3001IncomingLinks(view);
- case AOperationEditPart.VISUAL_ID:
- return getAOperation_3002IncomingLinks(view);
- case AAttribute2EditPart.VISUAL_ID:
- return getAAttribute_3003IncomingLinks(view);
- case AOperation2EditPart.VISUAL_ID:
- return getAOperation_3004IncomingLinks(view);
- }
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getOutgoingLinks(View view)
- {
- switch (AcoreVisualIDRegistry.getVisualID(view))
- {
- case AInterfaceEditPart.VISUAL_ID:
- return getAInterface_2001OutgoingLinks(view);
- case AClassEditPart.VISUAL_ID:
- return getAClass_2002OutgoingLinks(view);
- case AAttributeEditPart.VISUAL_ID:
- return getAAttribute_3001OutgoingLinks(view);
- case AOperationEditPart.VISUAL_ID:
- return getAOperation_3002OutgoingLinks(view);
- case AAttribute2EditPart.VISUAL_ID:
- return getAAttribute_3003OutgoingLinks(view);
- case AOperation2EditPart.VISUAL_ID:
- return getAOperation_3004OutgoingLinks(view);
- }
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getACoreRoot_1000ContainedLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAInterface_2001ContainedLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAClass_2002ContainedLinks(View view)
- {
- AClass modelElement = (AClass)view.getElement();
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_SubClasses_4001(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Associations_4003(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Aggregations_4004(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Compositions_4005(modelElement));
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAAttribute_3001ContainedLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAOperation_3002ContainedLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAAttribute_3003ContainedLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAOperation_3004ContainedLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAInterface_2001IncomingLinks(View view)
- {
- AInterface modelElement = (AInterface)view.getElement();
- Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- result.addAll(getIncomingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(modelElement, crossReferences));
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAClass_2002IncomingLinks(View view)
- {
- AClass modelElement = (AClass)view.getElement();
- Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- result.addAll(getIncomingFeatureModelFacetLinks_AClass_SubClasses_4001(modelElement, crossReferences));
- result.addAll(getIncomingFeatureModelFacetLinks_AClass_Associations_4003(modelElement, crossReferences));
- result.addAll(getIncomingFeatureModelFacetLinks_AClass_Aggregations_4004(modelElement, crossReferences));
- result.addAll(getIncomingFeatureModelFacetLinks_AClass_Compositions_4005(modelElement, crossReferences));
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAAttribute_3001IncomingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAOperation_3002IncomingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAAttribute_3003IncomingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAOperation_3004IncomingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAInterface_2001OutgoingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAClass_2002OutgoingLinks(View view)
- {
- AClass modelElement = (AClass)view.getElement();
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_SubClasses_4001(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Associations_4003(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Aggregations_4004(modelElement));
- result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Compositions_4005(modelElement));
- return result;
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAAttribute_3001OutgoingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAOperation_3002OutgoingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAAttribute_3003OutgoingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- public static List<AcoreLinkDescriptor> getAOperation_3004OutgoingLinks(View view)
- {
- return Collections.emptyList();
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_SubClasses_4001(
- AClass target, Map crossReferences)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- Collection settings = (Collection)crossReferences.get(target);
- for (Iterator it = settings.iterator(); it.hasNext();)
- {
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
- if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_SubClasses())
- {
- result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassSubClasses_4001,
- AClassSubClassesEditPart.VISUAL_ID));
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(
- AInterface target, Map crossReferences)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- Collection settings = (Collection)crossReferences.get(target);
- for (Iterator it = settings.iterator(); it.hasNext();)
- {
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
- if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_ImplementedInterfaces())
- {
- result.add(new AcoreLinkDescriptor(setting.getEObject(), target,
- AcoreElementTypes.AClassImplementedInterfaces_4002, AClassImplementedInterfacesEditPart.VISUAL_ID));
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_Associations_4003(
- AClass target, Map crossReferences)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- Collection settings = (Collection)crossReferences.get(target);
- for (Iterator it = settings.iterator(); it.hasNext();)
- {
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
- if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_Associations())
- {
- result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassAssociations_4003,
- AClassAssociationsEditPart.VISUAL_ID));
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_Aggregations_4004(
- AClass target, Map crossReferences)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- Collection settings = (Collection)crossReferences.get(target);
- for (Iterator it = settings.iterator(); it.hasNext();)
- {
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
- if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_Aggregations())
- {
- result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassAggregations_4004,
- AClassAggregationsEditPart.VISUAL_ID));
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_Compositions_4005(
- AClass target, Map crossReferences)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- Collection settings = (Collection)crossReferences.get(target);
- for (Iterator it = settings.iterator(); it.hasNext();)
- {
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
- if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_Compositions())
- {
- result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassCompositions_4005,
- AClassCompositionsEditPart.VISUAL_ID));
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_SubClasses_4001(AClass source)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- for (Iterator destinations = source.getSubClasses().iterator(); destinations.hasNext();)
- {
- AClass destination = (AClass)destinations.next();
- result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassSubClasses_4001,
- AClassSubClassesEditPart.VISUAL_ID));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(
- AClass source)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- for (Iterator destinations = source.getImplementedInterfaces().iterator(); destinations.hasNext();)
- {
- AInterface destination = (AInterface)destinations.next();
- result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassImplementedInterfaces_4002,
- AClassImplementedInterfacesEditPart.VISUAL_ID));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_Associations_4003(
- AClass source)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- for (Iterator destinations = source.getAssociations().iterator(); destinations.hasNext();)
- {
- AClass destination = (AClass)destinations.next();
- result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassAssociations_4003,
- AClassAssociationsEditPart.VISUAL_ID));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_Aggregations_4004(
- AClass source)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- for (Iterator destinations = source.getAggregations().iterator(); destinations.hasNext();)
- {
- AClass destination = (AClass)destinations.next();
- result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassAggregations_4004,
- AClassAggregationsEditPart.VISUAL_ID));
- }
- return result;
- }
-
- /**
- * @generated
- */
- private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_Compositions_4005(
- AClass source)
- {
- LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
- for (Iterator destinations = source.getCompositions().iterator(); destinations.hasNext();)
- {
- AClass destination = (AClass)destinations.next();
- result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassCompositions_4005,
- AClassCompositionsEditPart.VISUAL_ID));
- }
- return result;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @generated
+ */
+public class AcoreDiagramUpdater
+{
+
+ /**
+ * @generated
+ */
+ public static List<AcoreNodeDescriptor> getSemanticChildren(View view)
+ {
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case ACoreRootEditPart.VISUAL_ID:
+ return getACoreRoot_1000SemanticChildren(view);
+ case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
+ return getAInterfaceAAttributeInterfaceCompartment_7001SemanticChildren(view);
+ case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
+ return getAInterfaceAOperationInterfaceCompartment_7002SemanticChildren(view);
+ case AClassAAttributeCompartmentEditPart.VISUAL_ID:
+ return getAClassAAttributeCompartment_7003SemanticChildren(view);
+ case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
+ return getAClassAOperationClassCompartment_7004SemanticChildren(view);
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreNodeDescriptor> getACoreRoot_1000SemanticChildren(View view)
+ {
+ if (!view.isSetElement())
+ {
+ return Collections.emptyList();
+ }
+ ACoreRoot modelElement = (ACoreRoot)view.getElement();
+ LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
+ for (Iterator it = modelElement.getInterfaces().iterator(); it.hasNext();)
+ {
+ AInterface childElement = (AInterface)it.next();
+ int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
+ if (visualID == AInterfaceEditPart.VISUAL_ID)
+ {
+ result.add(new AcoreNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
+ for (Iterator it = modelElement.getClasses().iterator(); it.hasNext();)
+ {
+ AClass childElement = (AClass)it.next();
+ int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
+ if (visualID == AClassEditPart.VISUAL_ID)
+ {
+ result.add(new AcoreNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreNodeDescriptor> getAInterfaceAAttributeInterfaceCompartment_7001SemanticChildren(View view)
+ {
+ if (false == view.eContainer() instanceof View)
+ {
+ return Collections.emptyList();
+ }
+ View containerView = (View)view.eContainer();
+ if (!containerView.isSetElement())
+ {
+ return Collections.emptyList();
+ }
+ AInterface modelElement = (AInterface)containerView.getElement();
+ LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
+ for (Iterator it = modelElement.getAttributes().iterator(); it.hasNext();)
+ {
+ AAttribute childElement = (AAttribute)it.next();
+ int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
+ if (visualID == AAttributeEditPart.VISUAL_ID)
+ {
+ result.add(new AcoreNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreNodeDescriptor> getAInterfaceAOperationInterfaceCompartment_7002SemanticChildren(View view)
+ {
+ if (false == view.eContainer() instanceof View)
+ {
+ return Collections.emptyList();
+ }
+ View containerView = (View)view.eContainer();
+ if (!containerView.isSetElement())
+ {
+ return Collections.emptyList();
+ }
+ AInterface modelElement = (AInterface)containerView.getElement();
+ LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
+ for (Iterator it = modelElement.getOperations().iterator(); it.hasNext();)
+ {
+ AOperation childElement = (AOperation)it.next();
+ int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
+ if (visualID == AOperationEditPart.VISUAL_ID)
+ {
+ result.add(new AcoreNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreNodeDescriptor> getAClassAAttributeCompartment_7003SemanticChildren(View view)
+ {
+ if (false == view.eContainer() instanceof View)
+ {
+ return Collections.emptyList();
+ }
+ View containerView = (View)view.eContainer();
+ if (!containerView.isSetElement())
+ {
+ return Collections.emptyList();
+ }
+ AClass modelElement = (AClass)containerView.getElement();
+ LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
+ for (Iterator it = modelElement.getAttributes().iterator(); it.hasNext();)
+ {
+ AAttribute childElement = (AAttribute)it.next();
+ int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
+ if (visualID == AAttribute2EditPart.VISUAL_ID)
+ {
+ result.add(new AcoreNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreNodeDescriptor> getAClassAOperationClassCompartment_7004SemanticChildren(View view)
+ {
+ if (false == view.eContainer() instanceof View)
+ {
+ return Collections.emptyList();
+ }
+ View containerView = (View)view.eContainer();
+ if (!containerView.isSetElement())
+ {
+ return Collections.emptyList();
+ }
+ AClass modelElement = (AClass)containerView.getElement();
+ LinkedList<AcoreNodeDescriptor> result = new LinkedList<AcoreNodeDescriptor>();
+ for (Iterator it = modelElement.getOperations().iterator(); it.hasNext();)
+ {
+ AOperation childElement = (AOperation)it.next();
+ int visualID = AcoreVisualIDRegistry.getNodeVisualID(view, childElement);
+ if (visualID == AOperation2EditPart.VISUAL_ID)
+ {
+ result.add(new AcoreNodeDescriptor(childElement, visualID));
+ continue;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getContainedLinks(View view)
+ {
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case ACoreRootEditPart.VISUAL_ID:
+ return getACoreRoot_1000ContainedLinks(view);
+ case AInterfaceEditPart.VISUAL_ID:
+ return getAInterface_2001ContainedLinks(view);
+ case AClassEditPart.VISUAL_ID:
+ return getAClass_2002ContainedLinks(view);
+ case AAttributeEditPart.VISUAL_ID:
+ return getAAttribute_3001ContainedLinks(view);
+ case AOperationEditPart.VISUAL_ID:
+ return getAOperation_3002ContainedLinks(view);
+ case AAttribute2EditPart.VISUAL_ID:
+ return getAAttribute_3003ContainedLinks(view);
+ case AOperation2EditPart.VISUAL_ID:
+ return getAOperation_3004ContainedLinks(view);
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getIncomingLinks(View view)
+ {
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case AInterfaceEditPart.VISUAL_ID:
+ return getAInterface_2001IncomingLinks(view);
+ case AClassEditPart.VISUAL_ID:
+ return getAClass_2002IncomingLinks(view);
+ case AAttributeEditPart.VISUAL_ID:
+ return getAAttribute_3001IncomingLinks(view);
+ case AOperationEditPart.VISUAL_ID:
+ return getAOperation_3002IncomingLinks(view);
+ case AAttribute2EditPart.VISUAL_ID:
+ return getAAttribute_3003IncomingLinks(view);
+ case AOperation2EditPart.VISUAL_ID:
+ return getAOperation_3004IncomingLinks(view);
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getOutgoingLinks(View view)
+ {
+ switch (AcoreVisualIDRegistry.getVisualID(view))
+ {
+ case AInterfaceEditPart.VISUAL_ID:
+ return getAInterface_2001OutgoingLinks(view);
+ case AClassEditPart.VISUAL_ID:
+ return getAClass_2002OutgoingLinks(view);
+ case AAttributeEditPart.VISUAL_ID:
+ return getAAttribute_3001OutgoingLinks(view);
+ case AOperationEditPart.VISUAL_ID:
+ return getAOperation_3002OutgoingLinks(view);
+ case AAttribute2EditPart.VISUAL_ID:
+ return getAAttribute_3003OutgoingLinks(view);
+ case AOperation2EditPart.VISUAL_ID:
+ return getAOperation_3004OutgoingLinks(view);
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getACoreRoot_1000ContainedLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAInterface_2001ContainedLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAClass_2002ContainedLinks(View view)
+ {
+ AClass modelElement = (AClass)view.getElement();
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_SubClasses_4001(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Associations_4003(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Aggregations_4004(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Compositions_4005(modelElement));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAAttribute_3001ContainedLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAOperation_3002ContainedLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAAttribute_3003ContainedLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAOperation_3004ContainedLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAInterface_2001IncomingLinks(View view)
+ {
+ AInterface modelElement = (AInterface)view.getElement();
+ Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ result.addAll(getIncomingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(modelElement, crossReferences));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAClass_2002IncomingLinks(View view)
+ {
+ AClass modelElement = (AClass)view.getElement();
+ Map crossReferences = EcoreUtil.CrossReferencer.find(view.eResource().getResourceSet().getResources());
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ result.addAll(getIncomingFeatureModelFacetLinks_AClass_SubClasses_4001(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_AClass_Associations_4003(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_AClass_Aggregations_4004(modelElement, crossReferences));
+ result.addAll(getIncomingFeatureModelFacetLinks_AClass_Compositions_4005(modelElement, crossReferences));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAAttribute_3001IncomingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAOperation_3002IncomingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAAttribute_3003IncomingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAOperation_3004IncomingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAInterface_2001OutgoingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAClass_2002OutgoingLinks(View view)
+ {
+ AClass modelElement = (AClass)view.getElement();
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_SubClasses_4001(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Associations_4003(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Aggregations_4004(modelElement));
+ result.addAll(getOutgoingFeatureModelFacetLinks_AClass_Compositions_4005(modelElement));
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAAttribute_3001OutgoingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAOperation_3002OutgoingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAAttribute_3003OutgoingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ public static List<AcoreLinkDescriptor> getAOperation_3004OutgoingLinks(View view)
+ {
+ return Collections.emptyList();
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_SubClasses_4001(
+ AClass target, Map crossReferences)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ Collection settings = (Collection)crossReferences.get(target);
+ for (Iterator it = settings.iterator(); it.hasNext();)
+ {
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
+ if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_SubClasses())
+ {
+ result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassSubClasses_4001,
+ AClassSubClassesEditPart.VISUAL_ID));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(
+ AInterface target, Map crossReferences)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ Collection settings = (Collection)crossReferences.get(target);
+ for (Iterator it = settings.iterator(); it.hasNext();)
+ {
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
+ if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_ImplementedInterfaces())
+ {
+ result.add(new AcoreLinkDescriptor(setting.getEObject(), target,
+ AcoreElementTypes.AClassImplementedInterfaces_4002, AClassImplementedInterfacesEditPart.VISUAL_ID));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_Associations_4003(
+ AClass target, Map crossReferences)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ Collection settings = (Collection)crossReferences.get(target);
+ for (Iterator it = settings.iterator(); it.hasNext();)
+ {
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
+ if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_Associations())
+ {
+ result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassAssociations_4003,
+ AClassAssociationsEditPart.VISUAL_ID));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_Aggregations_4004(
+ AClass target, Map crossReferences)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ Collection settings = (Collection)crossReferences.get(target);
+ for (Iterator it = settings.iterator(); it.hasNext();)
+ {
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
+ if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_Aggregations())
+ {
+ result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassAggregations_4004,
+ AClassAggregationsEditPart.VISUAL_ID));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getIncomingFeatureModelFacetLinks_AClass_Compositions_4005(
+ AClass target, Map crossReferences)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ Collection settings = (Collection)crossReferences.get(target);
+ for (Iterator it = settings.iterator(); it.hasNext();)
+ {
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting)it.next();
+ if (setting.getEStructuralFeature() == AcorePackage.eINSTANCE.getAClass_Compositions())
+ {
+ result.add(new AcoreLinkDescriptor(setting.getEObject(), target, AcoreElementTypes.AClassCompositions_4005,
+ AClassCompositionsEditPart.VISUAL_ID));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_SubClasses_4001(AClass source)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ for (Iterator destinations = source.getSubClasses().iterator(); destinations.hasNext();)
+ {
+ AClass destination = (AClass)destinations.next();
+ result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassSubClasses_4001,
+ AClassSubClassesEditPart.VISUAL_ID));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_ImplementedInterfaces_4002(
+ AClass source)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ for (Iterator destinations = source.getImplementedInterfaces().iterator(); destinations.hasNext();)
+ {
+ AInterface destination = (AInterface)destinations.next();
+ result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassImplementedInterfaces_4002,
+ AClassImplementedInterfacesEditPart.VISUAL_ID));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_Associations_4003(
+ AClass source)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ for (Iterator destinations = source.getAssociations().iterator(); destinations.hasNext();)
+ {
+ AClass destination = (AClass)destinations.next();
+ result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassAssociations_4003,
+ AClassAssociationsEditPart.VISUAL_ID));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_Aggregations_4004(
+ AClass source)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ for (Iterator destinations = source.getAggregations().iterator(); destinations.hasNext();)
+ {
+ AClass destination = (AClass)destinations.next();
+ result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassAggregations_4004,
+ AClassAggregationsEditPart.VISUAL_ID));
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ private static Collection<AcoreLinkDescriptor> getOutgoingFeatureModelFacetLinks_AClass_Compositions_4005(
+ AClass source)
+ {
+ LinkedList<AcoreLinkDescriptor> result = new LinkedList<AcoreLinkDescriptor>();
+ for (Iterator destinations = source.getCompositions().iterator(); destinations.hasNext();)
+ {
+ AClass destination = (AClass)destinations.next();
+ result.add(new AcoreLinkDescriptor(source, destination, AcoreElementTypes.AClassCompositions_4005,
+ AClassCompositionsEditPart.VISUAL_ID));
+ }
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDocumentProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDocumentProvider.java
index 8ee668243e..5490b64c49 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDocumentProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreDocumentProvider.java
@@ -1,1212 +1,1212 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.ui.URIEditorInput;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.EContentAdapter;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.transaction.NotificationFilter;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.DiagramDocument;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocumentProvider;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocument;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.internal.EditorStatusCodes;
-import org.eclipse.gmf.runtime.diagram.ui.resources.editor.internal.util.DiagramIOUtil;
-import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @generated
- */
-public class AcoreDocumentProvider extends AbstractDocumentProvider implements IDiagramDocumentProvider
-{
-
- /**
- * @generated
- */
- protected ElementInfo createElementInfo(Object element) throws CoreException
- {
- if (false == element instanceof FileEditorInput && false == element instanceof URIEditorInput)
- {
- throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
- Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
- "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
- null));
- }
- IEditorInput editorInput = (IEditorInput)element;
- IDiagramDocument document = (IDiagramDocument)createDocument(editorInput);
-
- ResourceSetInfo info = new ResourceSetInfo(document, editorInput);
- info.setModificationStamp(computeModificationStamp(info));
- info.fStatus = null;
- return info;
- }
-
- /**
- * @generated
- */
- protected IDocument createDocument(Object element) throws CoreException
- {
- if (false == element instanceof FileEditorInput && false == element instanceof URIEditorInput)
- {
- throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
- Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
- "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
- null));
- }
- IDocument document = createEmptyDocument();
- setDocumentContent(document, (IEditorInput)element);
- setupDocument(element, document);
- return document;
- }
-
- /**
- * Sets up the given document as it would be provided for the given element. The content of the document is not
- * changed. This default implementation is empty. Subclasses may reimplement.
- *
- * @param element
- * the blue-print element
- * @param document
- * the document to set up
- * @generated
- */
- protected void setupDocument(Object element, IDocument document)
- {
- // for subclasses
- }
-
- /**
- * @generated
- */
- private long computeModificationStamp(ResourceSetInfo info)
- {
- int result = 0;
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null)
- {
- if (file.getLocation() != null)
- {
- result += file.getLocation().toFile().lastModified();
- }
- else
- {
- result += file.getModificationStamp();
- }
- }
- }
- return result;
- }
-
- /**
- * @generated
- */
- protected IDocument createEmptyDocument()
- {
- DiagramDocument document = new DiagramDocument();
- document.setEditingDomain(createEditingDomain());
- return document;
- }
-
- /**
- * @generated
- */
- private TransactionalEditingDomain createEditingDomain()
- {
- TransactionalEditingDomain editingDomain = DiagramEditingDomainFactory.getInstance().createEditingDomain();
- editingDomain.setID("org.eclipse.emf.cdo.dawn.examples.acore.diagram.EditingDomain"); //$NON-NLS-1$
- final NotificationFilter diagramResourceModifiedFilter = NotificationFilter
- .createNotifierFilter(editingDomain.getResourceSet())
- .and(NotificationFilter.createEventTypeFilter(Notification.ADD))
- .and(NotificationFilter.createFeatureFilter(ResourceSet.class, ResourceSet.RESOURCE_SET__RESOURCES));
- editingDomain.getResourceSet().eAdapters().add(new Adapter()
- {
-
- private Notifier myTarger;
-
- public Notifier getTarget()
- {
- return myTarger;
- }
-
- public boolean isAdapterForType(Object type)
- {
- return false;
- }
-
- public void notifyChanged(Notification notification)
- {
- if (diagramResourceModifiedFilter.matches(notification))
- {
- Object value = notification.getNewValue();
- if (value instanceof Resource)
- {
- ((Resource)value).setTrackingModification(true);
- }
- }
- }
-
- public void setTarget(Notifier newTarget)
- {
- myTarger = newTarget;
- }
-
- });
-
- return editingDomain;
- }
-
- /**
- * @generated
- */
- protected void setDocumentContent(IDocument document, IEditorInput element) throws CoreException
- {
- IDiagramDocument diagramDocument = (IDiagramDocument)document;
- TransactionalEditingDomain domain = diagramDocument.getEditingDomain();
- if (element instanceof FileEditorInput)
- {
- IStorage storage = ((FileEditorInput)element).getStorage();
- Diagram diagram = DiagramIOUtil.load(domain, storage, true, getProgressMonitor());
- document.setContent(diagram);
- }
- else if (element instanceof URIEditorInput)
- {
- URI uri = ((URIEditorInput)element).getURI();
- Resource resource = null;
- try
- {
- resource = domain.getResourceSet().getResource(uri.trimFragment(), false);
- if (resource == null)
- {
- resource = domain.getResourceSet().createResource(uri.trimFragment());
- }
- if (!resource.isLoaded())
- {
- try
- {
- Map options = new HashMap(GMFResourceFactory.getDefaultLoadOptions());
- // @see 171060
- // options.put(org.eclipse.emf.ecore.xmi.XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.TRUE);
- resource.load(options);
- }
- catch (IOException e)
- {
- resource.unload();
- throw e;
- }
- }
- if (uri.fragment() != null)
- {
- EObject rootElement = resource.getEObject(uri.fragment());
- if (rootElement instanceof Diagram)
- {
- document.setContent((Diagram)rootElement);
- return;
- }
- }
- else
- {
- for (Iterator it = resource.getContents().iterator(); it.hasNext();)
- {
- Object rootElement = it.next();
- if (rootElement instanceof Diagram)
- {
- document.setContent((Diagram)rootElement);
- return;
- }
- }
- }
- throw new RuntimeException(Messages.AcoreDocumentProvider_NoDiagramInResourceError);
- }
- catch (Exception e)
- {
- CoreException thrownExcp = null;
- if (e instanceof CoreException)
- {
- thrownExcp = (CoreException)e;
- }
- else
- {
- String msg = e.getLocalizedMessage();
- thrownExcp = new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, msg != null ? msg
- : Messages.AcoreDocumentProvider_DiagramLoadingError, e));
- }
- throw thrownExcp;
- }
- }
- else
- {
- throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
- Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
- "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
- null));
- }
- }
-
- /**
- * @generated
- */
- public long getModificationStamp(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- return computeModificationStamp(info);
- }
- return super.getModificationStamp(element);
- }
-
- /**
- * @generated
- */
- public boolean isDeleted(Object element)
- {
- IDiagramDocument document = getDiagramDocument(element);
- if (document != null)
- {
- Resource diagramResource = document.getDiagram().eResource();
- if (diagramResource != null)
- {
- IFile file = WorkspaceSynchronizer.getFile(diagramResource);
- return file == null || file.getLocation() == null || !file.getLocation().toFile().exists();
- }
- }
- return super.isDeleted(element);
- }
-
- /**
- * @generated
- */
- public ResourceSetInfo getResourceSetInfo(Object editorInput)
- {
- return (ResourceSetInfo)super.getElementInfo(editorInput);
- }
-
- /**
- * @generated
- */
- protected void disposeElementInfo(Object element, ElementInfo info)
- {
- if (info instanceof ResourceSetInfo)
- {
- ResourceSetInfo resourceSetInfo = (ResourceSetInfo)info;
- resourceSetInfo.dispose();
- }
- super.disposeElementInfo(element, info);
- }
-
- /**
- * @generated
- */
- protected void doValidateState(Object element, Object computationContext) throws CoreException
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- LinkedList<IFile> files2Validate = new LinkedList<IFile>();
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null && file.isReadOnly())
- {
- files2Validate.add(file);
- }
- }
- ResourcesPlugin.getWorkspace().validateEdit((IFile[])files2Validate.toArray(new IFile[files2Validate.size()]),
- computationContext);
- }
-
- super.doValidateState(element, computationContext);
- }
-
- /**
- * @generated
- */
- public boolean isReadOnly(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- if (info.isUpdateCache())
- {
- try
- {
- updateCache(element);
- }
- catch (CoreException ex)
- {
- AcoreDiagramEditorPlugin.getInstance().logError(Messages.AcoreDocumentProvider_isModifiable, ex);
- // Error message to log was initially taken from
- // org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.internal.l10n.EditorMessages.StorageDocumentProvider_isModifiable
- }
- }
- return info.isReadOnly();
- }
- return super.isReadOnly(element);
- }
-
- /**
- * @generated
- */
- public boolean isModifiable(Object element)
- {
- if (!isStateValidated(element))
- {
- if (element instanceof FileEditorInput || element instanceof URIEditorInput)
- {
- return true;
- }
- }
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- if (info.isUpdateCache())
- {
- try
- {
- updateCache(element);
- }
- catch (CoreException ex)
- {
- AcoreDiagramEditorPlugin.getInstance().logError(Messages.AcoreDocumentProvider_isModifiable, ex);
- // Error message to log was initially taken from
- // org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.internal.l10n.EditorMessages.StorageDocumentProvider_isModifiable
- }
- }
- return info.isModifiable();
- }
- return super.isModifiable(element);
- }
-
- /**
- * @generated
- */
- protected void updateCache(Object element) throws CoreException
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null && file.isReadOnly())
- {
- info.setReadOnly(true);
- info.setModifiable(false);
- return;
- }
- }
- info.setReadOnly(false);
- info.setModifiable(true);
- return;
- }
- }
-
- /**
- * @generated
- */
- protected void doUpdateStateCache(Object element) throws CoreException
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- info.setUpdateCache(true);
- }
- super.doUpdateStateCache(element);
- }
-
- /**
- * @generated
- */
- public boolean isSynchronized(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- return info.isSynchronized();
- }
- return super.isSynchronized(element);
- }
-
- /**
- * @generated
- */
- protected ISchedulingRule getResetRule(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- LinkedList<ISchedulingRule> rules = new LinkedList<ISchedulingRule>();
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null)
- {
- rules.add(ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(file));
- }
- }
- return new MultiRule((ISchedulingRule[])rules.toArray(new ISchedulingRule[rules.size()]));
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected ISchedulingRule getSaveRule(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- LinkedList<ISchedulingRule> rules = new LinkedList<ISchedulingRule>();
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null)
- {
- rules.add(computeSchedulingRule(file));
- }
- }
- return new MultiRule((ISchedulingRule[])rules.toArray(new ISchedulingRule[rules.size()]));
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected ISchedulingRule getSynchronizeRule(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- LinkedList<ISchedulingRule> rules = new LinkedList<ISchedulingRule>();
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null)
- {
- rules.add(ResourcesPlugin.getWorkspace().getRuleFactory().refreshRule(file));
- }
- }
- return new MultiRule((ISchedulingRule[])rules.toArray(new ISchedulingRule[rules.size()]));
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected ISchedulingRule getValidateStateRule(Object element)
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- LinkedList<ISchedulingRule> files = new LinkedList<ISchedulingRule>();
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- IFile file = WorkspaceSynchronizer.getFile(nextResource);
- if (file != null)
- {
- files.add(file);
- }
- }
- return ResourcesPlugin.getWorkspace().getRuleFactory()
- .validateEditRule((IFile[])files.toArray(new IFile[files.size()]));
- }
- return null;
- }
-
- /**
- * @generated
- */
- private ISchedulingRule computeSchedulingRule(IResource toCreateOrModify)
- {
- if (toCreateOrModify.exists())
- return ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(toCreateOrModify);
-
- IResource parent = toCreateOrModify;
- do
- {
- /*
- * XXX This is a workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=67601
- * IResourceRuleFactory.createRule should iterate the hierarchy itself.
- */
- toCreateOrModify = parent;
- parent = toCreateOrModify.getParent();
- } while (parent != null && !parent.exists());
-
- return ResourcesPlugin.getWorkspace().getRuleFactory().createRule(toCreateOrModify);
- }
-
- /**
- * @generated
- */
- protected void doSynchronize(Object element, IProgressMonitor monitor) throws CoreException
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- handleElementChanged(info, nextResource, monitor);
- }
- return;
- }
- super.doSynchronize(element, monitor);
- }
-
- /**
- * @generated
- */
- protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite)
- throws CoreException
- {
- ResourceSetInfo info = getResourceSetInfo(element);
- if (info != null)
- {
- if (!overwrite && !info.isSynchronized())
- {
- throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID,
- IResourceStatus.OUT_OF_SYNC_LOCAL, Messages.AcoreDocumentProvider_UnsynchronizedFileSaveError, null));
- }
- info.stopResourceListening();
- fireElementStateChanging(element);
- try
- {
- monitor.beginTask(Messages.AcoreDocumentProvider_SaveDiagramTask,
- info.getResourceSet().getResources().size() + 1); // "Saving diagram"
- for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource nextResource = it.next();
- monitor.setTaskName(NLS.bind(Messages.AcoreDocumentProvider_SaveNextResourceTask, nextResource.getURI()));
- if (nextResource.isLoaded() && !info.getEditingDomain().isReadOnly(nextResource))
- {
- try
- {
- nextResource.save(AcoreDiagramEditorUtil.getSaveOptions());
- }
- catch (IOException e)
- {
- fireElementStateChangeFailed(element);
- throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID,
- EditorStatusCodes.RESOURCE_FAILURE, e.getLocalizedMessage(), null));
- }
- }
- monitor.worked(1);
- }
- monitor.done();
- info.setModificationStamp(computeModificationStamp(info));
- }
- catch (RuntimeException x)
- {
- fireElementStateChangeFailed(element);
- throw x;
- }
- finally
- {
- info.startResourceListening();
- }
- }
- else
- {
- URI newResoruceURI;
- List<IFile> affectedFiles = null;
- if (element instanceof FileEditorInput)
- {
- IFile newFile = ((FileEditorInput)element).getFile();
- affectedFiles = Collections.singletonList(newFile);
- newResoruceURI = URI.createPlatformResourceURI(newFile.getFullPath().toString(), true);
- }
- else if (element instanceof URIEditorInput)
- {
- newResoruceURI = ((URIEditorInput)element).getURI();
- }
- else
- {
- fireElementStateChangeFailed(element);
- throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
- Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
- "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
- null));
- }
- if (false == document instanceof IDiagramDocument)
- {
- fireElementStateChangeFailed(element);
- throw new CoreException(
- new Status(
- IStatus.ERROR,
- AcoreDiagramEditorPlugin.ID,
- 0,
- "Incorrect document used: " + document + " instead of org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument", null)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- IDiagramDocument diagramDocument = (IDiagramDocument)document;
- final Resource newResource = diagramDocument.getEditingDomain().getResourceSet().createResource(newResoruceURI);
- final Diagram diagramCopy = (Diagram)EcoreUtil.copy(diagramDocument.getDiagram());
- try
- {
- new AbstractTransactionalCommand(diagramDocument.getEditingDomain(), NLS.bind(
- Messages.AcoreDocumentProvider_SaveAsOperation, diagramCopy.getName()), affectedFiles)
- {
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info)
- throws ExecutionException
- {
- newResource.getContents().add(diagramCopy);
- return CommandResult.newOKCommandResult();
- }
- }.execute(monitor, null);
- newResource.save(AcoreDiagramEditorUtil.getSaveOptions());
- }
- catch (ExecutionException e)
- {
- fireElementStateChangeFailed(element);
- throw new CoreException(
- new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, e.getLocalizedMessage(), null));
- }
- catch (IOException e)
- {
- fireElementStateChangeFailed(element);
- throw new CoreException(
- new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, e.getLocalizedMessage(), null));
- }
- newResource.unload();
- }
- }
-
- /**
- * @generated
- */
- protected void handleElementChanged(ResourceSetInfo info, Resource changedResource, IProgressMonitor monitor)
- {
- IFile file = WorkspaceSynchronizer.getFile(changedResource);
- if (file != null)
- {
- try
- {
- file.refreshLocal(IResource.DEPTH_INFINITE, monitor);
- }
- catch (CoreException ex)
- {
- AcoreDiagramEditorPlugin.getInstance().logError(Messages.AcoreDocumentProvider_handleElementContentChanged, ex);
- // Error message to log was initially taken from
- // org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.internal.l10n.EditorMessages.FileDocumentProvider_handleElementContentChanged
- }
- }
- changedResource.unload();
-
- fireElementContentAboutToBeReplaced(info.getEditorInput());
- removeUnchangedElementListeners(info.getEditorInput(), info);
- info.fStatus = null;
- try
- {
- setDocumentContent(info.fDocument, info.getEditorInput());
- }
- catch (CoreException e)
- {
- info.fStatus = e.getStatus();
- }
- if (!info.fCanBeSaved)
- {
- info.setModificationStamp(computeModificationStamp(info));
- }
- addUnchangedElementListeners(info.getEditorInput(), info);
- fireElementContentReplaced(info.getEditorInput());
- }
-
- /**
- * @generated
- */
- protected void handleElementMoved(IEditorInput input, URI uri)
- {
- if (input instanceof FileEditorInput)
- {
- IFile newFile = ResourcesPlugin.getWorkspace().getRoot()
- .getFile(new Path(URI.decode(uri.path())).removeFirstSegments(1));
- fireElementMoved(input, newFile == null ? null : new FileEditorInput(newFile));
- return;
- }
- // TODO: append suffix to the URI! (use diagram as a parameter)
- fireElementMoved(input, new URIEditorInput(uri));
- }
-
- /**
- * @generated
- */
- public IEditorInput createInputWithEditingDomain(IEditorInput editorInput, TransactionalEditingDomain domain)
- {
- return editorInput;
- }
-
- /**
- * @generated
- */
- public IDiagramDocument getDiagramDocument(Object element)
- {
- IDocument doc = getDocument(element);
- if (doc instanceof IDiagramDocument)
- {
- return (IDiagramDocument)doc;
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected IRunnableContext getOperationRunner(IProgressMonitor monitor)
- {
- return null;
- }
-
- /**
- * @generated
- */
- protected class ResourceSetInfo extends ElementInfo
- {
-
- /**
- * @generated
- */
- private long myModificationStamp = IResource.NULL_STAMP;
-
- /**
- * @generated
- */
- private WorkspaceSynchronizer mySynchronizer;
-
- /**
- * @generated
- */
- private LinkedList<Resource> myUnSynchronizedResources = new LinkedList<Resource>();
-
- /**
- * @generated
- */
- private IDiagramDocument myDocument;
-
- /**
- * @generated
- */
- private IEditorInput myEditorInput;
-
- /**
- * @generated
- */
- private boolean myUpdateCache = true;
-
- /**
- * @generated
- */
- private boolean myModifiable = false;
-
- /**
- * @generated
- */
- private boolean myReadOnly = true;
-
- /**
- * @generated
- */
- private ResourceSetModificationListener myResourceSetListener;
-
- /**
- * @generated
- */
- public ResourceSetInfo(IDiagramDocument document, IEditorInput editorInput)
- {
- super(document);
- myDocument = document;
- myEditorInput = editorInput;
- startResourceListening();
- myResourceSetListener = new ResourceSetModificationListener(this);
- getResourceSet().eAdapters().add(myResourceSetListener);
- }
-
- /**
- * @generated
- */
- public long getModificationStamp()
- {
- return myModificationStamp;
- }
-
- /**
- * @generated
- */
- public void setModificationStamp(long modificationStamp)
- {
- myModificationStamp = modificationStamp;
- }
-
- /**
- * @generated
- */
- public TransactionalEditingDomain getEditingDomain()
- {
- return myDocument.getEditingDomain();
- }
-
- /**
- * @generated
- */
- public ResourceSet getResourceSet()
- {
- return getEditingDomain().getResourceSet();
- }
-
- /**
- * @generated
- */
- public Iterator<Resource> getLoadedResourcesIterator()
- {
- return new ArrayList<Resource>(getResourceSet().getResources()).iterator();
- }
-
- /**
- * @generated
- */
- public IEditorInput getEditorInput()
- {
- return myEditorInput;
- }
-
- /**
- * @generated
- */
- public void dispose()
- {
- stopResourceListening();
- getResourceSet().eAdapters().remove(myResourceSetListener);
- for (Iterator<Resource> it = getLoadedResourcesIterator(); it.hasNext();)
- {
- Resource resource = it.next();
- resource.unload();
- }
- getEditingDomain().dispose();
- }
-
- /**
- * @generated
- */
- public boolean isSynchronized()
- {
- return myUnSynchronizedResources.size() == 0;
- }
-
- /**
- * @generated
- */
- public void setUnSynchronized(Resource resource)
- {
- myUnSynchronizedResources.add(resource);
- }
-
- /**
- * @generated
- */
- public void setSynchronized(Resource resource)
- {
- myUnSynchronizedResources.remove(resource);
- }
-
- /**
- * @generated
- */
- public final void stopResourceListening()
- {
- mySynchronizer.dispose();
- mySynchronizer = null;
- }
-
- /**
- * @generated
- */
- public final void startResourceListening()
- {
- mySynchronizer = new WorkspaceSynchronizer(getEditingDomain(), new SynchronizerDelegate());
- }
-
- /**
- * @generated
- */
- public boolean isUpdateCache()
- {
- return myUpdateCache;
- }
-
- /**
- * @generated
- */
- public void setUpdateCache(boolean update)
- {
- myUpdateCache = update;
- }
-
- /**
- * @generated
- */
- public boolean isModifiable()
- {
- return myModifiable;
- }
-
- /**
- * @generated
- */
- public void setModifiable(boolean modifiable)
- {
- myModifiable = modifiable;
- }
-
- /**
- * @generated
- */
- public boolean isReadOnly()
- {
- return myReadOnly;
- }
-
- /**
- * @generated
- */
- public void setReadOnly(boolean readOnly)
- {
- myReadOnly = readOnly;
- }
-
- /**
- * @generated
- */
- private class SynchronizerDelegate implements WorkspaceSynchronizer.Delegate
- {
-
- /**
- * @generated
- */
- public void dispose()
- {
- }
-
- /**
- * @generated
- */
- public boolean handleResourceChanged(final Resource resource)
- {
- synchronized (ResourceSetInfo.this)
- {
- if (ResourceSetInfo.this.fCanBeSaved)
- {
- ResourceSetInfo.this.setUnSynchronized(resource);
- return true;
- }
- }
- Display.getDefault().asyncExec(new Runnable()
- {
- public void run()
- {
- handleElementChanged(ResourceSetInfo.this, resource, null);
- }
- });
- return true;
- }
-
- /**
- * @generated
- */
- public boolean handleResourceDeleted(Resource resource)
- {
- synchronized (ResourceSetInfo.this)
- {
- if (ResourceSetInfo.this.fCanBeSaved)
- {
- ResourceSetInfo.this.setUnSynchronized(resource);
- return true;
- }
- }
- Display.getDefault().asyncExec(new Runnable()
- {
- public void run()
- {
- fireElementDeleted(ResourceSetInfo.this.getEditorInput());
- }
- });
- return true;
- }
-
- /**
- * @generated
- */
- public boolean handleResourceMoved(Resource resource, final URI newURI)
- {
- synchronized (ResourceSetInfo.this)
- {
- if (ResourceSetInfo.this.fCanBeSaved)
- {
- ResourceSetInfo.this.setUnSynchronized(resource);
- return true;
- }
- }
- if (myDocument.getDiagram().eResource() == resource)
- {
- Display.getDefault().asyncExec(new Runnable()
- {
- public void run()
- {
- handleElementMoved(ResourceSetInfo.this.getEditorInput(), newURI);
- }
- });
- }
- else
- {
- handleResourceDeleted(resource);
- }
- return true;
- }
-
- }
-
- }
-
- /**
- * @generated
- */
- private class ResourceSetModificationListener extends EContentAdapter
- {
-
- /**
- * @generated
- */
- private NotificationFilter myModifiedFilter;
-
- /**
- * @generated
- */
- private ResourceSetInfo myInfo;
-
- /**
- * @generated
- */
- public ResourceSetModificationListener(ResourceSetInfo info)
- {
- myInfo = info;
- myModifiedFilter = NotificationFilter.createEventTypeFilter(Notification.SET)
- .or(NotificationFilter.createEventTypeFilter(Notification.UNSET))
- .and(NotificationFilter.createFeatureFilter(Resource.class, Resource.RESOURCE__IS_MODIFIED));
- }
-
- /**
- * @generated
- */
- public void notifyChanged(Notification notification)
- {
- if (notification.getNotifier() instanceof ResourceSet)
- {
- super.notifyChanged(notification);
- }
- if (!notification.isTouch() && myModifiedFilter.matches(notification))
- {
- if (notification.getNotifier() instanceof Resource)
- {
- Resource resource = (Resource)notification.getNotifier();
- if (resource.isLoaded())
- {
- boolean modified = false;
- for (Iterator/* <org.eclipse.emf.ecore.resource.Resource> */it = myInfo.getLoadedResourcesIterator(); it
- .hasNext() && !modified;)
- {
- Resource nextResource = (Resource)it.next();
- if (nextResource.isLoaded())
- {
- modified = nextResource.isModified();
- }
- }
- boolean dirtyStateChanged = false;
- synchronized (myInfo)
- {
- if (modified != myInfo.fCanBeSaved)
- {
- myInfo.fCanBeSaved = modified;
- dirtyStateChanged = true;
- }
- if (!resource.isModified())
- {
- myInfo.setSynchronized(resource);
- }
- }
- if (dirtyStateChanged)
- {
- fireElementDirtyStateChanged(myInfo.getEditorInput(), modified);
-
- if (!modified)
- {
- myInfo.setModificationStamp(computeModificationStamp(myInfo));
- }
- }
- }
- }
- }
- }
-
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.ui.URIEditorInput;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.transaction.NotificationFilter;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceStatus;
+import org.eclipse.core.resources.IStorage;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.core.runtime.jobs.MultiRule;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.AbstractDocumentProvider;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.DiagramDocument;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocumentProvider;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocument;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.internal.EditorStatusCodes;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.internal.util.DiagramIOUtil;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.operation.IRunnableContext;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @generated
+ */
+public class AcoreDocumentProvider extends AbstractDocumentProvider implements IDiagramDocumentProvider
+{
+
+ /**
+ * @generated
+ */
+ protected ElementInfo createElementInfo(Object element) throws CoreException
+ {
+ if (false == element instanceof FileEditorInput && false == element instanceof URIEditorInput)
+ {
+ throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
+ Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
+ "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
+ null));
+ }
+ IEditorInput editorInput = (IEditorInput)element;
+ IDiagramDocument document = (IDiagramDocument)createDocument(editorInput);
+
+ ResourceSetInfo info = new ResourceSetInfo(document, editorInput);
+ info.setModificationStamp(computeModificationStamp(info));
+ info.fStatus = null;
+ return info;
+ }
+
+ /**
+ * @generated
+ */
+ protected IDocument createDocument(Object element) throws CoreException
+ {
+ if (false == element instanceof FileEditorInput && false == element instanceof URIEditorInput)
+ {
+ throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
+ Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
+ "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
+ null));
+ }
+ IDocument document = createEmptyDocument();
+ setDocumentContent(document, (IEditorInput)element);
+ setupDocument(element, document);
+ return document;
+ }
+
+ /**
+ * Sets up the given document as it would be provided for the given element. The content of the document is not
+ * changed. This default implementation is empty. Subclasses may reimplement.
+ *
+ * @param element
+ * the blue-print element
+ * @param document
+ * the document to set up
+ * @generated
+ */
+ protected void setupDocument(Object element, IDocument document)
+ {
+ // for subclasses
+ }
+
+ /**
+ * @generated
+ */
+ private long computeModificationStamp(ResourceSetInfo info)
+ {
+ int result = 0;
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null)
+ {
+ if (file.getLocation() != null)
+ {
+ result += file.getLocation().toFile().lastModified();
+ }
+ else
+ {
+ result += file.getModificationStamp();
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @generated
+ */
+ protected IDocument createEmptyDocument()
+ {
+ DiagramDocument document = new DiagramDocument();
+ document.setEditingDomain(createEditingDomain());
+ return document;
+ }
+
+ /**
+ * @generated
+ */
+ private TransactionalEditingDomain createEditingDomain()
+ {
+ TransactionalEditingDomain editingDomain = DiagramEditingDomainFactory.getInstance().createEditingDomain();
+ editingDomain.setID("org.eclipse.emf.cdo.dawn.examples.acore.diagram.EditingDomain"); //$NON-NLS-1$
+ final NotificationFilter diagramResourceModifiedFilter = NotificationFilter
+ .createNotifierFilter(editingDomain.getResourceSet())
+ .and(NotificationFilter.createEventTypeFilter(Notification.ADD))
+ .and(NotificationFilter.createFeatureFilter(ResourceSet.class, ResourceSet.RESOURCE_SET__RESOURCES));
+ editingDomain.getResourceSet().eAdapters().add(new Adapter()
+ {
+
+ private Notifier myTarger;
+
+ public Notifier getTarget()
+ {
+ return myTarger;
+ }
+
+ public boolean isAdapterForType(Object type)
+ {
+ return false;
+ }
+
+ public void notifyChanged(Notification notification)
+ {
+ if (diagramResourceModifiedFilter.matches(notification))
+ {
+ Object value = notification.getNewValue();
+ if (value instanceof Resource)
+ {
+ ((Resource)value).setTrackingModification(true);
+ }
+ }
+ }
+
+ public void setTarget(Notifier newTarget)
+ {
+ myTarger = newTarget;
+ }
+
+ });
+
+ return editingDomain;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setDocumentContent(IDocument document, IEditorInput element) throws CoreException
+ {
+ IDiagramDocument diagramDocument = (IDiagramDocument)document;
+ TransactionalEditingDomain domain = diagramDocument.getEditingDomain();
+ if (element instanceof FileEditorInput)
+ {
+ IStorage storage = ((FileEditorInput)element).getStorage();
+ Diagram diagram = DiagramIOUtil.load(domain, storage, true, getProgressMonitor());
+ document.setContent(diagram);
+ }
+ else if (element instanceof URIEditorInput)
+ {
+ URI uri = ((URIEditorInput)element).getURI();
+ Resource resource = null;
+ try
+ {
+ resource = domain.getResourceSet().getResource(uri.trimFragment(), false);
+ if (resource == null)
+ {
+ resource = domain.getResourceSet().createResource(uri.trimFragment());
+ }
+ if (!resource.isLoaded())
+ {
+ try
+ {
+ Map options = new HashMap(GMFResourceFactory.getDefaultLoadOptions());
+ // @see 171060
+ // options.put(org.eclipse.emf.ecore.xmi.XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.TRUE);
+ resource.load(options);
+ }
+ catch (IOException e)
+ {
+ resource.unload();
+ throw e;
+ }
+ }
+ if (uri.fragment() != null)
+ {
+ EObject rootElement = resource.getEObject(uri.fragment());
+ if (rootElement instanceof Diagram)
+ {
+ document.setContent((Diagram)rootElement);
+ return;
+ }
+ }
+ else
+ {
+ for (Iterator it = resource.getContents().iterator(); it.hasNext();)
+ {
+ Object rootElement = it.next();
+ if (rootElement instanceof Diagram)
+ {
+ document.setContent((Diagram)rootElement);
+ return;
+ }
+ }
+ }
+ throw new RuntimeException(Messages.AcoreDocumentProvider_NoDiagramInResourceError);
+ }
+ catch (Exception e)
+ {
+ CoreException thrownExcp = null;
+ if (e instanceof CoreException)
+ {
+ thrownExcp = (CoreException)e;
+ }
+ else
+ {
+ String msg = e.getLocalizedMessage();
+ thrownExcp = new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, msg != null ? msg
+ : Messages.AcoreDocumentProvider_DiagramLoadingError, e));
+ }
+ throw thrownExcp;
+ }
+ }
+ else
+ {
+ throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
+ Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
+ "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
+ null));
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public long getModificationStamp(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ return computeModificationStamp(info);
+ }
+ return super.getModificationStamp(element);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isDeleted(Object element)
+ {
+ IDiagramDocument document = getDiagramDocument(element);
+ if (document != null)
+ {
+ Resource diagramResource = document.getDiagram().eResource();
+ if (diagramResource != null)
+ {
+ IFile file = WorkspaceSynchronizer.getFile(diagramResource);
+ return file == null || file.getLocation() == null || !file.getLocation().toFile().exists();
+ }
+ }
+ return super.isDeleted(element);
+ }
+
+ /**
+ * @generated
+ */
+ public ResourceSetInfo getResourceSetInfo(Object editorInput)
+ {
+ return (ResourceSetInfo)super.getElementInfo(editorInput);
+ }
+
+ /**
+ * @generated
+ */
+ protected void disposeElementInfo(Object element, ElementInfo info)
+ {
+ if (info instanceof ResourceSetInfo)
+ {
+ ResourceSetInfo resourceSetInfo = (ResourceSetInfo)info;
+ resourceSetInfo.dispose();
+ }
+ super.disposeElementInfo(element, info);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doValidateState(Object element, Object computationContext) throws CoreException
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ LinkedList<IFile> files2Validate = new LinkedList<IFile>();
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null && file.isReadOnly())
+ {
+ files2Validate.add(file);
+ }
+ }
+ ResourcesPlugin.getWorkspace().validateEdit((IFile[])files2Validate.toArray(new IFile[files2Validate.size()]),
+ computationContext);
+ }
+
+ super.doValidateState(element, computationContext);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isReadOnly(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ if (info.isUpdateCache())
+ {
+ try
+ {
+ updateCache(element);
+ }
+ catch (CoreException ex)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError(Messages.AcoreDocumentProvider_isModifiable, ex);
+ // Error message to log was initially taken from
+ // org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.internal.l10n.EditorMessages.StorageDocumentProvider_isModifiable
+ }
+ }
+ return info.isReadOnly();
+ }
+ return super.isReadOnly(element);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isModifiable(Object element)
+ {
+ if (!isStateValidated(element))
+ {
+ if (element instanceof FileEditorInput || element instanceof URIEditorInput)
+ {
+ return true;
+ }
+ }
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ if (info.isUpdateCache())
+ {
+ try
+ {
+ updateCache(element);
+ }
+ catch (CoreException ex)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError(Messages.AcoreDocumentProvider_isModifiable, ex);
+ // Error message to log was initially taken from
+ // org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.internal.l10n.EditorMessages.StorageDocumentProvider_isModifiable
+ }
+ }
+ return info.isModifiable();
+ }
+ return super.isModifiable(element);
+ }
+
+ /**
+ * @generated
+ */
+ protected void updateCache(Object element) throws CoreException
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null && file.isReadOnly())
+ {
+ info.setReadOnly(true);
+ info.setModifiable(false);
+ return;
+ }
+ }
+ info.setReadOnly(false);
+ info.setModifiable(true);
+ return;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void doUpdateStateCache(Object element) throws CoreException
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ info.setUpdateCache(true);
+ }
+ super.doUpdateStateCache(element);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isSynchronized(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ return info.isSynchronized();
+ }
+ return super.isSynchronized(element);
+ }
+
+ /**
+ * @generated
+ */
+ protected ISchedulingRule getResetRule(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ LinkedList<ISchedulingRule> rules = new LinkedList<ISchedulingRule>();
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null)
+ {
+ rules.add(ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(file));
+ }
+ }
+ return new MultiRule((ISchedulingRule[])rules.toArray(new ISchedulingRule[rules.size()]));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected ISchedulingRule getSaveRule(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ LinkedList<ISchedulingRule> rules = new LinkedList<ISchedulingRule>();
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null)
+ {
+ rules.add(computeSchedulingRule(file));
+ }
+ }
+ return new MultiRule((ISchedulingRule[])rules.toArray(new ISchedulingRule[rules.size()]));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected ISchedulingRule getSynchronizeRule(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ LinkedList<ISchedulingRule> rules = new LinkedList<ISchedulingRule>();
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null)
+ {
+ rules.add(ResourcesPlugin.getWorkspace().getRuleFactory().refreshRule(file));
+ }
+ }
+ return new MultiRule((ISchedulingRule[])rules.toArray(new ISchedulingRule[rules.size()]));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected ISchedulingRule getValidateStateRule(Object element)
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ LinkedList<ISchedulingRule> files = new LinkedList<ISchedulingRule>();
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ IFile file = WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null)
+ {
+ files.add(file);
+ }
+ }
+ return ResourcesPlugin.getWorkspace().getRuleFactory()
+ .validateEditRule((IFile[])files.toArray(new IFile[files.size()]));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ private ISchedulingRule computeSchedulingRule(IResource toCreateOrModify)
+ {
+ if (toCreateOrModify.exists())
+ return ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(toCreateOrModify);
+
+ IResource parent = toCreateOrModify;
+ do
+ {
+ /*
+ * XXX This is a workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=67601
+ * IResourceRuleFactory.createRule should iterate the hierarchy itself.
+ */
+ toCreateOrModify = parent;
+ parent = toCreateOrModify.getParent();
+ } while (parent != null && !parent.exists());
+
+ return ResourcesPlugin.getWorkspace().getRuleFactory().createRule(toCreateOrModify);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doSynchronize(Object element, IProgressMonitor monitor) throws CoreException
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ handleElementChanged(info, nextResource, monitor);
+ }
+ return;
+ }
+ super.doSynchronize(element, monitor);
+ }
+
+ /**
+ * @generated
+ */
+ protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite)
+ throws CoreException
+ {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null)
+ {
+ if (!overwrite && !info.isSynchronized())
+ {
+ throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID,
+ IResourceStatus.OUT_OF_SYNC_LOCAL, Messages.AcoreDocumentProvider_UnsynchronizedFileSaveError, null));
+ }
+ info.stopResourceListening();
+ fireElementStateChanging(element);
+ try
+ {
+ monitor.beginTask(Messages.AcoreDocumentProvider_SaveDiagramTask,
+ info.getResourceSet().getResources().size() + 1); // "Saving diagram"
+ for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource nextResource = it.next();
+ monitor.setTaskName(NLS.bind(Messages.AcoreDocumentProvider_SaveNextResourceTask, nextResource.getURI()));
+ if (nextResource.isLoaded() && !info.getEditingDomain().isReadOnly(nextResource))
+ {
+ try
+ {
+ nextResource.save(AcoreDiagramEditorUtil.getSaveOptions());
+ }
+ catch (IOException e)
+ {
+ fireElementStateChangeFailed(element);
+ throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID,
+ EditorStatusCodes.RESOURCE_FAILURE, e.getLocalizedMessage(), null));
+ }
+ }
+ monitor.worked(1);
+ }
+ monitor.done();
+ info.setModificationStamp(computeModificationStamp(info));
+ }
+ catch (RuntimeException x)
+ {
+ fireElementStateChangeFailed(element);
+ throw x;
+ }
+ finally
+ {
+ info.startResourceListening();
+ }
+ }
+ else
+ {
+ URI newResoruceURI;
+ List<IFile> affectedFiles = null;
+ if (element instanceof FileEditorInput)
+ {
+ IFile newFile = ((FileEditorInput)element).getFile();
+ affectedFiles = Collections.singletonList(newFile);
+ newResoruceURI = URI.createPlatformResourceURI(newFile.getFullPath().toString(), true);
+ }
+ else if (element instanceof URIEditorInput)
+ {
+ newResoruceURI = ((URIEditorInput)element).getURI();
+ }
+ else
+ {
+ fireElementStateChangeFailed(element);
+ throw new CoreException(new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, NLS.bind(
+ Messages.AcoreDocumentProvider_IncorrectInputError, new Object[] { element,
+ "org.eclipse.ui.part.FileEditorInput", "org.eclipse.emf.common.ui.URIEditorInput" }), //$NON-NLS-1$ //$NON-NLS-2$
+ null));
+ }
+ if (false == document instanceof IDiagramDocument)
+ {
+ fireElementStateChangeFailed(element);
+ throw new CoreException(
+ new Status(
+ IStatus.ERROR,
+ AcoreDiagramEditorPlugin.ID,
+ 0,
+ "Incorrect document used: " + document + " instead of org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument", null)); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ IDiagramDocument diagramDocument = (IDiagramDocument)document;
+ final Resource newResource = diagramDocument.getEditingDomain().getResourceSet().createResource(newResoruceURI);
+ final Diagram diagramCopy = (Diagram)EcoreUtil.copy(diagramDocument.getDiagram());
+ try
+ {
+ new AbstractTransactionalCommand(diagramDocument.getEditingDomain(), NLS.bind(
+ Messages.AcoreDocumentProvider_SaveAsOperation, diagramCopy.getName()), affectedFiles)
+ {
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info)
+ throws ExecutionException
+ {
+ newResource.getContents().add(diagramCopy);
+ return CommandResult.newOKCommandResult();
+ }
+ }.execute(monitor, null);
+ newResource.save(AcoreDiagramEditorUtil.getSaveOptions());
+ }
+ catch (ExecutionException e)
+ {
+ fireElementStateChangeFailed(element);
+ throw new CoreException(
+ new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, e.getLocalizedMessage(), null));
+ }
+ catch (IOException e)
+ {
+ fireElementStateChangeFailed(element);
+ throw new CoreException(
+ new Status(IStatus.ERROR, AcoreDiagramEditorPlugin.ID, 0, e.getLocalizedMessage(), null));
+ }
+ newResource.unload();
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleElementChanged(ResourceSetInfo info, Resource changedResource, IProgressMonitor monitor)
+ {
+ IFile file = WorkspaceSynchronizer.getFile(changedResource);
+ if (file != null)
+ {
+ try
+ {
+ file.refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ }
+ catch (CoreException ex)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError(Messages.AcoreDocumentProvider_handleElementContentChanged, ex);
+ // Error message to log was initially taken from
+ // org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.internal.l10n.EditorMessages.FileDocumentProvider_handleElementContentChanged
+ }
+ }
+ changedResource.unload();
+
+ fireElementContentAboutToBeReplaced(info.getEditorInput());
+ removeUnchangedElementListeners(info.getEditorInput(), info);
+ info.fStatus = null;
+ try
+ {
+ setDocumentContent(info.fDocument, info.getEditorInput());
+ }
+ catch (CoreException e)
+ {
+ info.fStatus = e.getStatus();
+ }
+ if (!info.fCanBeSaved)
+ {
+ info.setModificationStamp(computeModificationStamp(info));
+ }
+ addUnchangedElementListeners(info.getEditorInput(), info);
+ fireElementContentReplaced(info.getEditorInput());
+ }
+
+ /**
+ * @generated
+ */
+ protected void handleElementMoved(IEditorInput input, URI uri)
+ {
+ if (input instanceof FileEditorInput)
+ {
+ IFile newFile = ResourcesPlugin.getWorkspace().getRoot()
+ .getFile(new Path(URI.decode(uri.path())).removeFirstSegments(1));
+ fireElementMoved(input, newFile == null ? null : new FileEditorInput(newFile));
+ return;
+ }
+ // TODO: append suffix to the URI! (use diagram as a parameter)
+ fireElementMoved(input, new URIEditorInput(uri));
+ }
+
+ /**
+ * @generated
+ */
+ public IEditorInput createInputWithEditingDomain(IEditorInput editorInput, TransactionalEditingDomain domain)
+ {
+ return editorInput;
+ }
+
+ /**
+ * @generated
+ */
+ public IDiagramDocument getDiagramDocument(Object element)
+ {
+ IDocument doc = getDocument(element);
+ if (doc instanceof IDiagramDocument)
+ {
+ return (IDiagramDocument)doc;
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected IRunnableContext getOperationRunner(IProgressMonitor monitor)
+ {
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected class ResourceSetInfo extends ElementInfo
+ {
+
+ /**
+ * @generated
+ */
+ private long myModificationStamp = IResource.NULL_STAMP;
+
+ /**
+ * @generated
+ */
+ private WorkspaceSynchronizer mySynchronizer;
+
+ /**
+ * @generated
+ */
+ private LinkedList<Resource> myUnSynchronizedResources = new LinkedList<Resource>();
+
+ /**
+ * @generated
+ */
+ private IDiagramDocument myDocument;
+
+ /**
+ * @generated
+ */
+ private IEditorInput myEditorInput;
+
+ /**
+ * @generated
+ */
+ private boolean myUpdateCache = true;
+
+ /**
+ * @generated
+ */
+ private boolean myModifiable = false;
+
+ /**
+ * @generated
+ */
+ private boolean myReadOnly = true;
+
+ /**
+ * @generated
+ */
+ private ResourceSetModificationListener myResourceSetListener;
+
+ /**
+ * @generated
+ */
+ public ResourceSetInfo(IDiagramDocument document, IEditorInput editorInput)
+ {
+ super(document);
+ myDocument = document;
+ myEditorInput = editorInput;
+ startResourceListening();
+ myResourceSetListener = new ResourceSetModificationListener(this);
+ getResourceSet().eAdapters().add(myResourceSetListener);
+ }
+
+ /**
+ * @generated
+ */
+ public long getModificationStamp()
+ {
+ return myModificationStamp;
+ }
+
+ /**
+ * @generated
+ */
+ public void setModificationStamp(long modificationStamp)
+ {
+ myModificationStamp = modificationStamp;
+ }
+
+ /**
+ * @generated
+ */
+ public TransactionalEditingDomain getEditingDomain()
+ {
+ return myDocument.getEditingDomain();
+ }
+
+ /**
+ * @generated
+ */
+ public ResourceSet getResourceSet()
+ {
+ return getEditingDomain().getResourceSet();
+ }
+
+ /**
+ * @generated
+ */
+ public Iterator<Resource> getLoadedResourcesIterator()
+ {
+ return new ArrayList<Resource>(getResourceSet().getResources()).iterator();
+ }
+
+ /**
+ * @generated
+ */
+ public IEditorInput getEditorInput()
+ {
+ return myEditorInput;
+ }
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ stopResourceListening();
+ getResourceSet().eAdapters().remove(myResourceSetListener);
+ for (Iterator<Resource> it = getLoadedResourcesIterator(); it.hasNext();)
+ {
+ Resource resource = it.next();
+ resource.unload();
+ }
+ getEditingDomain().dispose();
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isSynchronized()
+ {
+ return myUnSynchronizedResources.size() == 0;
+ }
+
+ /**
+ * @generated
+ */
+ public void setUnSynchronized(Resource resource)
+ {
+ myUnSynchronizedResources.add(resource);
+ }
+
+ /**
+ * @generated
+ */
+ public void setSynchronized(Resource resource)
+ {
+ myUnSynchronizedResources.remove(resource);
+ }
+
+ /**
+ * @generated
+ */
+ public final void stopResourceListening()
+ {
+ mySynchronizer.dispose();
+ mySynchronizer = null;
+ }
+
+ /**
+ * @generated
+ */
+ public final void startResourceListening()
+ {
+ mySynchronizer = new WorkspaceSynchronizer(getEditingDomain(), new SynchronizerDelegate());
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isUpdateCache()
+ {
+ return myUpdateCache;
+ }
+
+ /**
+ * @generated
+ */
+ public void setUpdateCache(boolean update)
+ {
+ myUpdateCache = update;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isModifiable()
+ {
+ return myModifiable;
+ }
+
+ /**
+ * @generated
+ */
+ public void setModifiable(boolean modifiable)
+ {
+ myModifiable = modifiable;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean isReadOnly()
+ {
+ return myReadOnly;
+ }
+
+ /**
+ * @generated
+ */
+ public void setReadOnly(boolean readOnly)
+ {
+ myReadOnly = readOnly;
+ }
+
+ /**
+ * @generated
+ */
+ private class SynchronizerDelegate implements WorkspaceSynchronizer.Delegate
+ {
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public boolean handleResourceChanged(final Resource resource)
+ {
+ synchronized (ResourceSetInfo.this)
+ {
+ if (ResourceSetInfo.this.fCanBeSaved)
+ {
+ ResourceSetInfo.this.setUnSynchronized(resource);
+ return true;
+ }
+ }
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ handleElementChanged(ResourceSetInfo.this, resource, null);
+ }
+ });
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean handleResourceDeleted(Resource resource)
+ {
+ synchronized (ResourceSetInfo.this)
+ {
+ if (ResourceSetInfo.this.fCanBeSaved)
+ {
+ ResourceSetInfo.this.setUnSynchronized(resource);
+ return true;
+ }
+ }
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ fireElementDeleted(ResourceSetInfo.this.getEditorInput());
+ }
+ });
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean handleResourceMoved(Resource resource, final URI newURI)
+ {
+ synchronized (ResourceSetInfo.this)
+ {
+ if (ResourceSetInfo.this.fCanBeSaved)
+ {
+ ResourceSetInfo.this.setUnSynchronized(resource);
+ return true;
+ }
+ }
+ if (myDocument.getDiagram().eResource() == resource)
+ {
+ Display.getDefault().asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ handleElementMoved(ResourceSetInfo.this.getEditorInput(), newURI);
+ }
+ });
+ }
+ else
+ {
+ handleResourceDeleted(resource);
+ }
+ return true;
+ }
+
+ }
+
+ }
+
+ /**
+ * @generated
+ */
+ private class ResourceSetModificationListener extends EContentAdapter
+ {
+
+ /**
+ * @generated
+ */
+ private NotificationFilter myModifiedFilter;
+
+ /**
+ * @generated
+ */
+ private ResourceSetInfo myInfo;
+
+ /**
+ * @generated
+ */
+ public ResourceSetModificationListener(ResourceSetInfo info)
+ {
+ myInfo = info;
+ myModifiedFilter = NotificationFilter.createEventTypeFilter(Notification.SET)
+ .or(NotificationFilter.createEventTypeFilter(Notification.UNSET))
+ .and(NotificationFilter.createFeatureFilter(Resource.class, Resource.RESOURCE__IS_MODIFIED));
+ }
+
+ /**
+ * @generated
+ */
+ public void notifyChanged(Notification notification)
+ {
+ if (notification.getNotifier() instanceof ResourceSet)
+ {
+ super.notifyChanged(notification);
+ }
+ if (!notification.isTouch() && myModifiedFilter.matches(notification))
+ {
+ if (notification.getNotifier() instanceof Resource)
+ {
+ Resource resource = (Resource)notification.getNotifier();
+ if (resource.isLoaded())
+ {
+ boolean modified = false;
+ for (Iterator/* <org.eclipse.emf.ecore.resource.Resource> */it = myInfo.getLoadedResourcesIterator(); it
+ .hasNext() && !modified;)
+ {
+ Resource nextResource = (Resource)it.next();
+ if (nextResource.isLoaded())
+ {
+ modified = nextResource.isModified();
+ }
+ }
+ boolean dirtyStateChanged = false;
+ synchronized (myInfo)
+ {
+ if (modified != myInfo.fCanBeSaved)
+ {
+ myInfo.fCanBeSaved = modified;
+ dirtyStateChanged = true;
+ }
+ if (!resource.isModified())
+ {
+ myInfo.setSynchronized(resource);
+ }
+ }
+ if (dirtyStateChanged)
+ {
+ fireElementDirtyStateChanged(myInfo.getEditorInput(), modified);
+
+ if (!modified)
+ {
+ myInfo.setModificationStamp(computeModificationStamp(myInfo));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreInitDiagramFileAction.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreInitDiagramFileAction.java
index aeee8f834d..3053861b50 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreInitDiagramFileAction.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreInitDiagramFileAction.java
@@ -1,110 +1,110 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * @generated
- */
-public class AcoreInitDiagramFileAction implements IObjectActionDelegate
-{
-
- /**
- * @generated
- */
- private IWorkbenchPart targetPart;
-
- /**
- * @generated
- */
- private URI domainModelURI;
-
- /**
- * @generated
- */
- public void setActivePart(IAction action, IWorkbenchPart targetPart)
- {
- this.targetPart = targetPart;
- }
-
- /**
- * @generated
- */
- public void selectionChanged(IAction action, ISelection selection)
- {
- domainModelURI = null;
- action.setEnabled(false);
- if (selection instanceof IStructuredSelection == false || selection.isEmpty())
- {
- return;
- }
- IFile file = (IFile)((IStructuredSelection)selection).getFirstElement();
- domainModelURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
- action.setEnabled(true);
- }
-
- /**
- * @generated
- */
- private Shell getShell()
- {
- return targetPart.getSite().getShell();
- }
-
- /**
- * @generated
- */
- public void run(IAction action)
- {
- TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
- ResourceSet resourceSet = editingDomain.getResourceSet();
- EObject diagramRoot = null;
- try
- {
- Resource resource = resourceSet.getResource(domainModelURI, true);
- diagramRoot = (EObject)resource.getContents().get(0);
- }
- catch (WrappedException ex)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to load resource: " + domainModelURI, ex); //$NON-NLS-1$
- }
- if (diagramRoot == null)
- {
- MessageDialog.openError(getShell(), Messages.InitDiagramFile_ResourceErrorDialogTitle,
- Messages.InitDiagramFile_ResourceErrorDialogMessage);
- return;
- }
- Wizard wizard = new AcoreNewDiagramFileWizard(domainModelURI, diagramRoot, editingDomain);
- wizard.setWindowTitle(NLS.bind(Messages.InitDiagramFile_WizardTitle, ACoreRootEditPart.MODEL_ID));
- AcoreDiagramEditorUtil.runWizard(getShell(), wizard, "InitDiagramFile"); //$NON-NLS-1$
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * @generated
+ */
+public class AcoreInitDiagramFileAction implements IObjectActionDelegate
+{
+
+ /**
+ * @generated
+ */
+ private IWorkbenchPart targetPart;
+
+ /**
+ * @generated
+ */
+ private URI domainModelURI;
+
+ /**
+ * @generated
+ */
+ public void setActivePart(IAction action, IWorkbenchPart targetPart)
+ {
+ this.targetPart = targetPart;
+ }
+
+ /**
+ * @generated
+ */
+ public void selectionChanged(IAction action, ISelection selection)
+ {
+ domainModelURI = null;
+ action.setEnabled(false);
+ if (selection instanceof IStructuredSelection == false || selection.isEmpty())
+ {
+ return;
+ }
+ IFile file = (IFile)((IStructuredSelection)selection).getFirstElement();
+ domainModelURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+ action.setEnabled(true);
+ }
+
+ /**
+ * @generated
+ */
+ private Shell getShell()
+ {
+ return targetPart.getSite().getShell();
+ }
+
+ /**
+ * @generated
+ */
+ public void run(IAction action)
+ {
+ TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE.createEditingDomain();
+ ResourceSet resourceSet = editingDomain.getResourceSet();
+ EObject diagramRoot = null;
+ try
+ {
+ Resource resource = resourceSet.getResource(domainModelURI, true);
+ diagramRoot = (EObject)resource.getContents().get(0);
+ }
+ catch (WrappedException ex)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to load resource: " + domainModelURI, ex); //$NON-NLS-1$
+ }
+ if (diagramRoot == null)
+ {
+ MessageDialog.openError(getShell(), Messages.InitDiagramFile_ResourceErrorDialogTitle,
+ Messages.InitDiagramFile_ResourceErrorDialogMessage);
+ return;
+ }
+ Wizard wizard = new AcoreNewDiagramFileWizard(domainModelURI, diagramRoot, editingDomain);
+ wizard.setWindowTitle(NLS.bind(Messages.InitDiagramFile_WizardTitle, ACoreRootEditPart.MODEL_ID));
+ AcoreDiagramEditorUtil.runWizard(getShell(), wizard, "InitDiagramFile"); //$NON-NLS-1$
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreLinkDescriptor.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreLinkDescriptor.java
index 3483ace36b..c41d924871 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreLinkDescriptor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreLinkDescriptor.java
@@ -1,116 +1,116 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-
-/**
- * @generated
- */
-public class AcoreLinkDescriptor extends AcoreNodeDescriptor
-{
-
- /**
- * @generated
- */
- private EObject mySource;
-
- /**
- * @generated
- */
- private EObject myDestination;
-
- /**
- * @generated
- */
- private IAdaptable mySemanticAdapter;
-
- /**
- * @generated
- */
- private AcoreLinkDescriptor(EObject source, EObject destination, EObject linkElement, int linkVID)
- {
- super(linkElement, linkVID);
- mySource = source;
- myDestination = destination;
- }
-
- /**
- * @generated
- */
- public AcoreLinkDescriptor(EObject source, EObject destination, IElementType elementType, int linkVID)
- {
- this(source, destination, (EObject)null, linkVID);
- final IElementType elementTypeCopy = elementType;
- mySemanticAdapter = new IAdaptable()
- {
- public Object getAdapter(Class adapter)
- {
- if (IElementType.class.equals(adapter))
- {
- return elementTypeCopy;
- }
- return null;
- }
- };
- }
-
- /**
- * @generated
- */
- public AcoreLinkDescriptor(EObject source, EObject destination, EObject linkElement, IElementType elementType,
- int linkVID)
- {
- this(source, destination, linkElement, linkVID);
- final IElementType elementTypeCopy = elementType;
- mySemanticAdapter = new EObjectAdapter(linkElement)
- {
- public Object getAdapter(Class adapter)
- {
- if (IElementType.class.equals(adapter))
- {
- return elementTypeCopy;
- }
- return super.getAdapter(adapter);
- }
- };
- }
-
- /**
- * @generated
- */
- public EObject getSource()
- {
- return mySource;
- }
-
- /**
- * @generated
- */
- public EObject getDestination()
- {
- return myDestination;
- }
-
- /**
- * @generated
- */
- public IAdaptable getSemanticAdapter()
- {
- return mySemanticAdapter;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+
+/**
+ * @generated
+ */
+public class AcoreLinkDescriptor extends AcoreNodeDescriptor
+{
+
+ /**
+ * @generated
+ */
+ private EObject mySource;
+
+ /**
+ * @generated
+ */
+ private EObject myDestination;
+
+ /**
+ * @generated
+ */
+ private IAdaptable mySemanticAdapter;
+
+ /**
+ * @generated
+ */
+ private AcoreLinkDescriptor(EObject source, EObject destination, EObject linkElement, int linkVID)
+ {
+ super(linkElement, linkVID);
+ mySource = source;
+ myDestination = destination;
+ }
+
+ /**
+ * @generated
+ */
+ public AcoreLinkDescriptor(EObject source, EObject destination, IElementType elementType, int linkVID)
+ {
+ this(source, destination, (EObject)null, linkVID);
+ final IElementType elementTypeCopy = elementType;
+ mySemanticAdapter = new IAdaptable()
+ {
+ public Object getAdapter(Class adapter)
+ {
+ if (IElementType.class.equals(adapter))
+ {
+ return elementTypeCopy;
+ }
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public AcoreLinkDescriptor(EObject source, EObject destination, EObject linkElement, IElementType elementType,
+ int linkVID)
+ {
+ this(source, destination, linkElement, linkVID);
+ final IElementType elementTypeCopy = elementType;
+ mySemanticAdapter = new EObjectAdapter(linkElement)
+ {
+ public Object getAdapter(Class adapter)
+ {
+ if (IElementType.class.equals(adapter))
+ {
+ return elementTypeCopy;
+ }
+ return super.getAdapter(adapter);
+ }
+ };
+ }
+
+ /**
+ * @generated
+ */
+ public EObject getSource()
+ {
+ return mySource;
+ }
+
+ /**
+ * @generated
+ */
+ public EObject getDestination()
+ {
+ return myDestination;
+ }
+
+ /**
+ * @generated
+ */
+ public IAdaptable getSemanticAdapter()
+ {
+ return mySemanticAdapter;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreMatchingStrategy.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreMatchingStrategy.java
index 65edc06bac..097702cc9f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreMatchingStrategy.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreMatchingStrategy.java
@@ -1,53 +1,53 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.common.ui.URIEditorInput;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorMatchingStrategy;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.PartInitException;
-
-/**
- * @generated
- */
-public class AcoreMatchingStrategy implements IEditorMatchingStrategy
-{
-
- /**
- * @generated
- */
- public boolean matches(IEditorReference editorRef, IEditorInput input)
- {
- IEditorInput editorInput;
- try
- {
- editorInput = editorRef.getEditorInput();
- }
- catch (PartInitException e)
- {
- return false;
- }
-
- if (editorInput.equals(input))
- {
- return true;
- }
- if (editorInput instanceof URIEditorInput && input instanceof URIEditorInput)
- {
- return ((URIEditorInput)editorInput).getURI().equals(((URIEditorInput)input).getURI());
- }
- return false;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorMatchingStrategy;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * @generated
+ */
+public class AcoreMatchingStrategy implements IEditorMatchingStrategy
+{
+
+ /**
+ * @generated
+ */
+ public boolean matches(IEditorReference editorRef, IEditorInput input)
+ {
+ IEditorInput editorInput;
+ try
+ {
+ editorInput = editorRef.getEditorInput();
+ }
+ catch (PartInitException e)
+ {
+ return false;
+ }
+
+ if (editorInput.equals(input))
+ {
+ return true;
+ }
+ if (editorInput instanceof URIEditorInput && input instanceof URIEditorInput)
+ {
+ return ((URIEditorInput)editorInput).getURI().equals(((URIEditorInput)input).getURI());
+ }
+ return false;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNewDiagramFileWizard.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNewDiagramFileWizard.java
index 77574199ad..c7e0fc852a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNewDiagramFileWizard.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNewDiagramFileWizard.java
@@ -1,206 +1,206 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.OperationHistoryFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
-import org.eclipse.gmf.runtime.diagram.core.services.view.CreateDiagramViewOperation;
-import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AcoreNewDiagramFileWizard extends Wizard
-{
-
- /**
- * @generated
- */
- private WizardNewFileCreationPage myFileCreationPage;
-
- /**
- * @generated
- */
- private ModelElementSelectionPage diagramRootElementSelectionPage;
-
- /**
- * @generated
- */
- private TransactionalEditingDomain myEditingDomain;
-
- /**
- * @generated
- */
- public AcoreNewDiagramFileWizard(URI domainModelURI, EObject diagramRoot, TransactionalEditingDomain editingDomain)
- {
- assert domainModelURI != null : "Domain model uri must be specified"; //$NON-NLS-1$
- assert diagramRoot != null : "Doagram root element must be specified"; //$NON-NLS-1$
- assert editingDomain != null : "Editing domain must be specified"; //$NON-NLS-1$
-
- myFileCreationPage = new WizardNewFileCreationPage(Messages.AcoreNewDiagramFileWizard_CreationPageName,
- StructuredSelection.EMPTY);
- myFileCreationPage.setTitle(Messages.AcoreNewDiagramFileWizard_CreationPageTitle);
- myFileCreationPage.setDescription(NLS.bind(Messages.AcoreNewDiagramFileWizard_CreationPageDescription,
- ACoreRootEditPart.MODEL_ID));
- IPath filePath;
- String fileName = URI.decode(domainModelURI.trimFileExtension().lastSegment());
- if (domainModelURI.isPlatformResource())
- {
- filePath = new Path(domainModelURI.trimSegments(1).toPlatformString(true));
- }
- else if (domainModelURI.isFile())
- {
- filePath = new Path(domainModelURI.trimSegments(1).toFileString());
- }
- else
- {
- // TODO : use some default path
- throw new IllegalArgumentException("Unsupported URI: " + domainModelURI); //$NON-NLS-1$
- }
- myFileCreationPage.setContainerFullPath(filePath);
- myFileCreationPage.setFileName(AcoreDiagramEditorUtil.getUniqueFileName(filePath, fileName, "acore_diagram")); //$NON-NLS-1$
-
- diagramRootElementSelectionPage = new DiagramRootElementSelectionPage(
- Messages.AcoreNewDiagramFileWizard_RootSelectionPageName);
- diagramRootElementSelectionPage.setTitle(Messages.AcoreNewDiagramFileWizard_RootSelectionPageTitle);
- diagramRootElementSelectionPage.setDescription(Messages.AcoreNewDiagramFileWizard_RootSelectionPageDescription);
- diagramRootElementSelectionPage.setModelElement(diagramRoot);
-
- myEditingDomain = editingDomain;
- }
-
- /**
- * @generated
- */
- public void addPages()
- {
- addPage(myFileCreationPage);
- addPage(diagramRootElementSelectionPage);
- }
-
- /**
- * @generated
- */
- public boolean performFinish()
- {
- List affectedFiles = new LinkedList();
- IFile diagramFile = myFileCreationPage.createNewFile();
- AcoreDiagramEditorUtil.setCharset(diagramFile);
- affectedFiles.add(diagramFile);
- URI diagramModelURI = URI.createPlatformResourceURI(diagramFile.getFullPath().toString(), true);
- ResourceSet resourceSet = myEditingDomain.getResourceSet();
- final Resource diagramResource = resourceSet.createResource(diagramModelURI);
- AbstractTransactionalCommand command = new AbstractTransactionalCommand(myEditingDomain,
- Messages.AcoreNewDiagramFileWizard_InitDiagramCommand, affectedFiles)
- {
-
- protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- {
- int diagramVID = AcoreVisualIDRegistry.getDiagramVisualID(diagramRootElementSelectionPage.getModelElement());
- if (diagramVID != ACoreRootEditPart.VISUAL_ID)
- {
- return CommandResult.newErrorCommandResult(Messages.AcoreNewDiagramFileWizard_IncorrectRootError);
- }
- Diagram diagram = ViewService.createDiagram(diagramRootElementSelectionPage.getModelElement(),
- ACoreRootEditPart.MODEL_ID, AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT);
- diagramResource.getContents().add(diagram);
- return CommandResult.newOKCommandResult();
- }
- };
- try
- {
- OperationHistoryFactory.getOperationHistory().execute(command, new NullProgressMonitor(), null);
- diagramResource.save(AcoreDiagramEditorUtil.getSaveOptions());
- AcoreDiagramEditorUtil.openDiagram(diagramResource);
- }
- catch (ExecutionException e)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to create model and diagram", e); //$NON-NLS-1$
- }
- catch (IOException ex)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Save operation failed for: " + diagramModelURI, ex); //$NON-NLS-1$
- }
- catch (PartInitException ex)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to open editor", ex); //$NON-NLS-1$
- }
- return true;
- }
-
- /**
- * @generated
- */
- private static class DiagramRootElementSelectionPage extends ModelElementSelectionPage
- {
-
- /**
- * @generated
- */
- protected DiagramRootElementSelectionPage(String pageName)
- {
- super(pageName);
- }
-
- /**
- * @generated
- */
- protected String getSelectionTitle()
- {
- return Messages.AcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle;
- }
-
- /**
- * @generated
- */
- protected boolean validatePage()
- {
- if (selectedModelElement == null)
- {
- setErrorMessage(Messages.AcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage);
- return false;
- }
- boolean result = ViewService.getInstance().provides(
- new CreateDiagramViewOperation(new EObjectAdapter(selectedModelElement), ACoreRootEditPart.MODEL_ID,
- AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT));
- setErrorMessage(result ? null : Messages.AcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage);
- return result;
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.OperationHistoryFactory;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateDiagramViewOperation;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AcoreNewDiagramFileWizard extends Wizard
+{
+
+ /**
+ * @generated
+ */
+ private WizardNewFileCreationPage myFileCreationPage;
+
+ /**
+ * @generated
+ */
+ private ModelElementSelectionPage diagramRootElementSelectionPage;
+
+ /**
+ * @generated
+ */
+ private TransactionalEditingDomain myEditingDomain;
+
+ /**
+ * @generated
+ */
+ public AcoreNewDiagramFileWizard(URI domainModelURI, EObject diagramRoot, TransactionalEditingDomain editingDomain)
+ {
+ assert domainModelURI != null : "Domain model uri must be specified"; //$NON-NLS-1$
+ assert diagramRoot != null : "Doagram root element must be specified"; //$NON-NLS-1$
+ assert editingDomain != null : "Editing domain must be specified"; //$NON-NLS-1$
+
+ myFileCreationPage = new WizardNewFileCreationPage(Messages.AcoreNewDiagramFileWizard_CreationPageName,
+ StructuredSelection.EMPTY);
+ myFileCreationPage.setTitle(Messages.AcoreNewDiagramFileWizard_CreationPageTitle);
+ myFileCreationPage.setDescription(NLS.bind(Messages.AcoreNewDiagramFileWizard_CreationPageDescription,
+ ACoreRootEditPart.MODEL_ID));
+ IPath filePath;
+ String fileName = URI.decode(domainModelURI.trimFileExtension().lastSegment());
+ if (domainModelURI.isPlatformResource())
+ {
+ filePath = new Path(domainModelURI.trimSegments(1).toPlatformString(true));
+ }
+ else if (domainModelURI.isFile())
+ {
+ filePath = new Path(domainModelURI.trimSegments(1).toFileString());
+ }
+ else
+ {
+ // TODO : use some default path
+ throw new IllegalArgumentException("Unsupported URI: " + domainModelURI); //$NON-NLS-1$
+ }
+ myFileCreationPage.setContainerFullPath(filePath);
+ myFileCreationPage.setFileName(AcoreDiagramEditorUtil.getUniqueFileName(filePath, fileName, "acore_diagram")); //$NON-NLS-1$
+
+ diagramRootElementSelectionPage = new DiagramRootElementSelectionPage(
+ Messages.AcoreNewDiagramFileWizard_RootSelectionPageName);
+ diagramRootElementSelectionPage.setTitle(Messages.AcoreNewDiagramFileWizard_RootSelectionPageTitle);
+ diagramRootElementSelectionPage.setDescription(Messages.AcoreNewDiagramFileWizard_RootSelectionPageDescription);
+ diagramRootElementSelectionPage.setModelElement(diagramRoot);
+
+ myEditingDomain = editingDomain;
+ }
+
+ /**
+ * @generated
+ */
+ public void addPages()
+ {
+ addPage(myFileCreationPage);
+ addPage(diagramRootElementSelectionPage);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean performFinish()
+ {
+ List affectedFiles = new LinkedList();
+ IFile diagramFile = myFileCreationPage.createNewFile();
+ AcoreDiagramEditorUtil.setCharset(diagramFile);
+ affectedFiles.add(diagramFile);
+ URI diagramModelURI = URI.createPlatformResourceURI(diagramFile.getFullPath().toString(), true);
+ ResourceSet resourceSet = myEditingDomain.getResourceSet();
+ final Resource diagramResource = resourceSet.createResource(diagramModelURI);
+ AbstractTransactionalCommand command = new AbstractTransactionalCommand(myEditingDomain,
+ Messages.AcoreNewDiagramFileWizard_InitDiagramCommand, affectedFiles)
+ {
+
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
+ {
+ int diagramVID = AcoreVisualIDRegistry.getDiagramVisualID(diagramRootElementSelectionPage.getModelElement());
+ if (diagramVID != ACoreRootEditPart.VISUAL_ID)
+ {
+ return CommandResult.newErrorCommandResult(Messages.AcoreNewDiagramFileWizard_IncorrectRootError);
+ }
+ Diagram diagram = ViewService.createDiagram(diagramRootElementSelectionPage.getModelElement(),
+ ACoreRootEditPart.MODEL_ID, AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT);
+ diagramResource.getContents().add(diagram);
+ return CommandResult.newOKCommandResult();
+ }
+ };
+ try
+ {
+ OperationHistoryFactory.getOperationHistory().execute(command, new NullProgressMonitor(), null);
+ diagramResource.save(AcoreDiagramEditorUtil.getSaveOptions());
+ AcoreDiagramEditorUtil.openDiagram(diagramResource);
+ }
+ catch (ExecutionException e)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to create model and diagram", e); //$NON-NLS-1$
+ }
+ catch (IOException ex)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Save operation failed for: " + diagramModelURI, ex); //$NON-NLS-1$
+ }
+ catch (PartInitException ex)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to open editor", ex); //$NON-NLS-1$
+ }
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ private static class DiagramRootElementSelectionPage extends ModelElementSelectionPage
+ {
+
+ /**
+ * @generated
+ */
+ protected DiagramRootElementSelectionPage(String pageName)
+ {
+ super(pageName);
+ }
+
+ /**
+ * @generated
+ */
+ protected String getSelectionTitle()
+ {
+ return Messages.AcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean validatePage()
+ {
+ if (selectedModelElement == null)
+ {
+ setErrorMessage(Messages.AcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage);
+ return false;
+ }
+ boolean result = ViewService.getInstance().provides(
+ new CreateDiagramViewOperation(new EObjectAdapter(selectedModelElement), ACoreRootEditPart.MODEL_ID,
+ AcoreDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT));
+ setErrorMessage(result ? null : Messages.AcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage);
+ return result;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNodeDescriptor.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNodeDescriptor.java
index 89b0fc2a0c..5296c4e7df 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNodeDescriptor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreNodeDescriptor.java
@@ -1,57 +1,57 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @generated
- */
-public class AcoreNodeDescriptor
-{
-
- /**
- * @generated
- */
- private final EObject myModelElement;
-
- /**
- * @generated
- */
- private final int myVisualID;
-
- /**
- * @generated
- */
- public AcoreNodeDescriptor(EObject modelElement, int visualID)
- {
- myModelElement = modelElement;
- myVisualID = visualID;
- }
-
- /**
- * @generated
- */
- public EObject getModelElement()
- {
- return myModelElement;
- }
-
- /**
- * @generated
- */
- public int getVisualID()
- {
- return myVisualID;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * @generated
+ */
+public class AcoreNodeDescriptor
+{
+
+ /**
+ * @generated
+ */
+ private final EObject myModelElement;
+
+ /**
+ * @generated
+ */
+ private final int myVisualID;
+
+ /**
+ * @generated
+ */
+ public AcoreNodeDescriptor(EObject modelElement, int visualID)
+ {
+ myModelElement = modelElement;
+ myVisualID = visualID;
+ }
+
+ /**
+ * @generated
+ */
+ public EObject getModelElement()
+ {
+ return myModelElement;
+ }
+
+ /**
+ * @generated
+ */
+ public int getVisualID()
+ {
+ return myVisualID;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcorePaletteFactory.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcorePaletteFactory.java
index 5d70c97704..a7bde85d8f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcorePaletteFactory.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcorePaletteFactory.java
@@ -1,272 +1,272 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.gef.Tool;
-import org.eclipse.gef.palette.PaletteContainer;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeConnectionTool;
-import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AcorePaletteFactory
-{
-
- /**
- * @generated
- */
- public void fillPalette(PaletteRoot paletteRoot)
- {
- paletteRoot.add(createNode1Group());
- paletteRoot.add(createConnections2Group());
- }
-
- /**
- * Creates "Node" palette tool group
- *
- * @generated
- */
- private PaletteContainer createNode1Group()
- {
- PaletteDrawer paletteContainer = new PaletteDrawer(Messages.Node1Group_title);
- paletteContainer.setId("createNode1Group"); //$NON-NLS-1$
- paletteContainer.add(createAClass1CreationTool());
- paletteContainer.add(createAInterface2CreationTool());
- paletteContainer.add(createAAttribute3CreationTool());
- paletteContainer.add(createAOperation4CreationTool());
- return paletteContainer;
- }
-
- /**
- * Creates "Connections" palette tool group
- *
- * @generated
- */
- private PaletteContainer createConnections2Group()
- {
- PaletteDrawer paletteContainer = new PaletteDrawer(Messages.Connections2Group_title);
- paletteContainer.setId("createConnections2Group"); //$NON-NLS-1$
- paletteContainer.add(createInherits1CreationTool());
- paletteContainer.add(createImplements2CreationTool());
- paletteContainer.add(createAssociation3CreationTool());
- paletteContainer.add(createAggregation4CreationTool());
- paletteContainer.add(createComposition5CreationTool());
- return paletteContainer;
- }
-
- /**
- * @generated
- */
- private ToolEntry createAClass1CreationTool()
- {
- NodeToolEntry entry = new NodeToolEntry(Messages.AClass1CreationTool_title, Messages.AClass1CreationTool_desc,
- Collections.singletonList(AcoreElementTypes.AClass_2002));
- entry.setId("createAClass1CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AClass_2002));
- entry.setLargeIcon(entry.getSmallIcon());
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createAInterface2CreationTool()
- {
- NodeToolEntry entry = new NodeToolEntry(Messages.AInterface2CreationTool_title,
- Messages.AInterface2CreationTool_desc, Collections.singletonList(AcoreElementTypes.AInterface_2001));
- entry.setId("createAInterface2CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AInterface_2001));
- entry.setLargeIcon(entry.getSmallIcon());
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createAAttribute3CreationTool()
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(2);
- types.add(AcoreElementTypes.AAttribute_3001);
- types.add(AcoreElementTypes.AAttribute_3003);
- NodeToolEntry entry = new NodeToolEntry(Messages.AAttribute3CreationTool_title,
- Messages.AAttribute3CreationTool_desc, types);
- entry.setId("createAAttribute3CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AAttribute_3001));
- entry.setLargeIcon(entry.getSmallIcon());
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createAOperation4CreationTool()
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(2);
- types.add(AcoreElementTypes.AOperation_3002);
- types.add(AcoreElementTypes.AOperation_3004);
- NodeToolEntry entry = new NodeToolEntry(Messages.AOperation4CreationTool_title,
- Messages.AOperation4CreationTool_desc, types);
- entry.setId("createAOperation4CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AOperation_3002));
- entry.setLargeIcon(entry.getSmallIcon());
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createInherits1CreationTool()
- {
- LinkToolEntry entry = new LinkToolEntry(Messages.Inherits1CreationTool_title, Messages.Inherits1CreationTool_desc,
- Collections.singletonList(AcoreElementTypes.AClassSubClasses_4001));
- entry.setId("createInherits1CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/inherits.png")); //$NON-NLS-1$
- entry.setLargeIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/inherits.png")); //$NON-NLS-1$
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createImplements2CreationTool()
- {
- LinkToolEntry entry = new LinkToolEntry(Messages.Implements2CreationTool_title,
- Messages.Implements2CreationTool_desc,
- Collections.singletonList(AcoreElementTypes.AClassImplementedInterfaces_4002));
- entry.setId("createImplements2CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/implements.png")); //$NON-NLS-1$
- entry.setLargeIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/implements.png")); //$NON-NLS-1$
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createAssociation3CreationTool()
- {
- LinkToolEntry entry = new LinkToolEntry(Messages.Association3CreationTool_title,
- Messages.Association3CreationTool_desc, Collections.singletonList(AcoreElementTypes.AClassAssociations_4003));
- entry.setId("createAssociation3CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/association.png")); //$NON-NLS-1$
- entry.setLargeIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/association.png")); //$NON-NLS-1$
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createAggregation4CreationTool()
- {
- LinkToolEntry entry = new LinkToolEntry(Messages.Aggregation4CreationTool_title,
- Messages.Aggregation4CreationTool_desc, Collections.singletonList(AcoreElementTypes.AClassAggregations_4004));
- entry.setId("createAggregation4CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/aggregation.png")); //$NON-NLS-1$
- entry.setLargeIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/aggregation.png")); //$NON-NLS-1$
- return entry;
- }
-
- /**
- * @generated
- */
- private ToolEntry createComposition5CreationTool()
- {
- LinkToolEntry entry = new LinkToolEntry(Messages.Composition5CreationTool_title,
- Messages.Composition5CreationTool_desc, Collections.singletonList(AcoreElementTypes.AClassCompositions_4005));
- entry.setId("createComposition5CreationTool"); //$NON-NLS-1$
- entry.setSmallIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/composition.png")); //$NON-NLS-1$
- entry.setLargeIcon(AcoreDiagramEditorPlugin
- .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/composition.png")); //$NON-NLS-1$
- return entry;
- }
-
- /**
- * @generated
- */
- private static class NodeToolEntry extends ToolEntry
- {
-
- /**
- * @generated
- */
- private final List<IElementType> elementTypes;
-
- /**
- * @generated
- */
- private NodeToolEntry(String title, String description, List<IElementType> elementTypes)
- {
- super(title, description, null, null);
- this.elementTypes = elementTypes;
- }
-
- /**
- * @generated
- */
- public Tool createTool()
- {
- Tool tool = new UnspecifiedTypeCreationTool(elementTypes);
- tool.setProperties(getToolProperties());
- return tool;
- }
- }
-
- /**
- * @generated
- */
- private static class LinkToolEntry extends ToolEntry
- {
-
- /**
- * @generated
- */
- private final List<IElementType> relationshipTypes;
-
- /**
- * @generated
- */
- private LinkToolEntry(String title, String description, List<IElementType> relationshipTypes)
- {
- super(title, description, null, null);
- this.relationshipTypes = relationshipTypes;
- }
-
- /**
- * @generated
- */
- public Tool createTool()
- {
- Tool tool = new UnspecifiedTypeConnectionTool(relationshipTypes);
- tool.setProperties(getToolProperties());
- return tool;
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.gef.Tool;
+import org.eclipse.gef.palette.PaletteContainer;
+import org.eclipse.gef.palette.PaletteDrawer;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.palette.ToolEntry;
+import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeConnectionTool;
+import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AcorePaletteFactory
+{
+
+ /**
+ * @generated
+ */
+ public void fillPalette(PaletteRoot paletteRoot)
+ {
+ paletteRoot.add(createNode1Group());
+ paletteRoot.add(createConnections2Group());
+ }
+
+ /**
+ * Creates "Node" palette tool group
+ *
+ * @generated
+ */
+ private PaletteContainer createNode1Group()
+ {
+ PaletteDrawer paletteContainer = new PaletteDrawer(Messages.Node1Group_title);
+ paletteContainer.setId("createNode1Group"); //$NON-NLS-1$
+ paletteContainer.add(createAClass1CreationTool());
+ paletteContainer.add(createAInterface2CreationTool());
+ paletteContainer.add(createAAttribute3CreationTool());
+ paletteContainer.add(createAOperation4CreationTool());
+ return paletteContainer;
+ }
+
+ /**
+ * Creates "Connections" palette tool group
+ *
+ * @generated
+ */
+ private PaletteContainer createConnections2Group()
+ {
+ PaletteDrawer paletteContainer = new PaletteDrawer(Messages.Connections2Group_title);
+ paletteContainer.setId("createConnections2Group"); //$NON-NLS-1$
+ paletteContainer.add(createInherits1CreationTool());
+ paletteContainer.add(createImplements2CreationTool());
+ paletteContainer.add(createAssociation3CreationTool());
+ paletteContainer.add(createAggregation4CreationTool());
+ paletteContainer.add(createComposition5CreationTool());
+ return paletteContainer;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createAClass1CreationTool()
+ {
+ NodeToolEntry entry = new NodeToolEntry(Messages.AClass1CreationTool_title, Messages.AClass1CreationTool_desc,
+ Collections.singletonList(AcoreElementTypes.AClass_2002));
+ entry.setId("createAClass1CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AClass_2002));
+ entry.setLargeIcon(entry.getSmallIcon());
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createAInterface2CreationTool()
+ {
+ NodeToolEntry entry = new NodeToolEntry(Messages.AInterface2CreationTool_title,
+ Messages.AInterface2CreationTool_desc, Collections.singletonList(AcoreElementTypes.AInterface_2001));
+ entry.setId("createAInterface2CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AInterface_2001));
+ entry.setLargeIcon(entry.getSmallIcon());
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createAAttribute3CreationTool()
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
+ types.add(AcoreElementTypes.AAttribute_3001);
+ types.add(AcoreElementTypes.AAttribute_3003);
+ NodeToolEntry entry = new NodeToolEntry(Messages.AAttribute3CreationTool_title,
+ Messages.AAttribute3CreationTool_desc, types);
+ entry.setId("createAAttribute3CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AAttribute_3001));
+ entry.setLargeIcon(entry.getSmallIcon());
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createAOperation4CreationTool()
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
+ types.add(AcoreElementTypes.AOperation_3002);
+ types.add(AcoreElementTypes.AOperation_3004);
+ NodeToolEntry entry = new NodeToolEntry(Messages.AOperation4CreationTool_title,
+ Messages.AOperation4CreationTool_desc, types);
+ entry.setId("createAOperation4CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreElementTypes.getImageDescriptor(AcoreElementTypes.AOperation_3002));
+ entry.setLargeIcon(entry.getSmallIcon());
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createInherits1CreationTool()
+ {
+ LinkToolEntry entry = new LinkToolEntry(Messages.Inherits1CreationTool_title, Messages.Inherits1CreationTool_desc,
+ Collections.singletonList(AcoreElementTypes.AClassSubClasses_4001));
+ entry.setId("createInherits1CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/inherits.png")); //$NON-NLS-1$
+ entry.setLargeIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/inherits.png")); //$NON-NLS-1$
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createImplements2CreationTool()
+ {
+ LinkToolEntry entry = new LinkToolEntry(Messages.Implements2CreationTool_title,
+ Messages.Implements2CreationTool_desc,
+ Collections.singletonList(AcoreElementTypes.AClassImplementedInterfaces_4002));
+ entry.setId("createImplements2CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/implements.png")); //$NON-NLS-1$
+ entry.setLargeIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/implements.png")); //$NON-NLS-1$
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createAssociation3CreationTool()
+ {
+ LinkToolEntry entry = new LinkToolEntry(Messages.Association3CreationTool_title,
+ Messages.Association3CreationTool_desc, Collections.singletonList(AcoreElementTypes.AClassAssociations_4003));
+ entry.setId("createAssociation3CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/association.png")); //$NON-NLS-1$
+ entry.setLargeIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/association.png")); //$NON-NLS-1$
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createAggregation4CreationTool()
+ {
+ LinkToolEntry entry = new LinkToolEntry(Messages.Aggregation4CreationTool_title,
+ Messages.Aggregation4CreationTool_desc, Collections.singletonList(AcoreElementTypes.AClassAggregations_4004));
+ entry.setId("createAggregation4CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/aggregation.png")); //$NON-NLS-1$
+ entry.setLargeIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/aggregation.png")); //$NON-NLS-1$
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private ToolEntry createComposition5CreationTool()
+ {
+ LinkToolEntry entry = new LinkToolEntry(Messages.Composition5CreationTool_title,
+ Messages.Composition5CreationTool_desc, Collections.singletonList(AcoreElementTypes.AClassCompositions_4005));
+ entry.setId("createComposition5CreationTool"); //$NON-NLS-1$
+ entry.setSmallIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/composition.png")); //$NON-NLS-1$
+ entry.setLargeIcon(AcoreDiagramEditorPlugin
+ .findImageDescriptor("/org.eclipse.emf.cdo.dawn.examples.acore.edit/icons/full/obj16/composition.png")); //$NON-NLS-1$
+ return entry;
+ }
+
+ /**
+ * @generated
+ */
+ private static class NodeToolEntry extends ToolEntry
+ {
+
+ /**
+ * @generated
+ */
+ private final List<IElementType> elementTypes;
+
+ /**
+ * @generated
+ */
+ private NodeToolEntry(String title, String description, List<IElementType> elementTypes)
+ {
+ super(title, description, null, null);
+ this.elementTypes = elementTypes;
+ }
+
+ /**
+ * @generated
+ */
+ public Tool createTool()
+ {
+ Tool tool = new UnspecifiedTypeCreationTool(elementTypes);
+ tool.setProperties(getToolProperties());
+ return tool;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private static class LinkToolEntry extends ToolEntry
+ {
+
+ /**
+ * @generated
+ */
+ private final List<IElementType> relationshipTypes;
+
+ /**
+ * @generated
+ */
+ private LinkToolEntry(String title, String description, List<IElementType> relationshipTypes)
+ {
+ super(title, description, null, null);
+ this.relationshipTypes = relationshipTypes;
+ }
+
+ /**
+ * @generated
+ */
+ public Tool createTool()
+ {
+ Tool tool = new UnspecifiedTypeConnectionTool(relationshipTypes);
+ tool.setProperties(getToolProperties());
+ return tool;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreUriEditorInputTester.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreUriEditorInputTester.java
index bb94245cc8..57f5a936e7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreUriEditorInputTester.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreUriEditorInputTester.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.common.ui.URIEditorInput;
-
-import org.eclipse.core.expressions.PropertyTester;
-
-/**
- * @generated
- */
-public class AcoreUriEditorInputTester extends PropertyTester
-{
-
- /**
- * @generated
- */
- public boolean test(Object receiver, String method, Object[] args, Object expectedValue)
- {
- if (false == receiver instanceof URIEditorInput)
- {
- return false;
- }
- URIEditorInput editorInput = (URIEditorInput)receiver;
- return "acore_diagram".equals(editorInput.getURI().fileExtension()); //$NON-NLS-1$
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.common.ui.URIEditorInput;
+
+import org.eclipse.core.expressions.PropertyTester;
+
+/**
+ * @generated
+ */
+public class AcoreUriEditorInputTester extends PropertyTester
+{
+
+ /**
+ * @generated
+ */
+ public boolean test(Object receiver, String method, Object[] args, Object expectedValue)
+ {
+ if (false == receiver instanceof URIEditorInput)
+ {
+ return false;
+ }
+ URIEditorInput editorInput = (URIEditorInput)receiver;
+ return "acore_diagram".equals(editorInput.getURI().fileExtension()); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreVisualIDRegistry.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreVisualIDRegistry.java
index c15d78994e..c157d907cc 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreVisualIDRegistry.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/AcoreVisualIDRegistry.java
@@ -1,322 +1,322 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * This registry is used to determine which type of visual object should be created for the corresponding Diagram, Node,
- * ChildNode or Link represented by a domain model object.
- *
- * @generated
- */
-public class AcoreVisualIDRegistry
-{
-
- /**
- * @generated
- */
- private static final String DEBUG_KEY = "org.eclipse.emf.cdo.dawn.examples.acore.diagram/debug/visualID"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static int getVisualID(View view)
- {
- if (view instanceof Diagram)
- {
- if (ACoreRootEditPart.MODEL_ID.equals(view.getType()))
- {
- return ACoreRootEditPart.VISUAL_ID;
- }
- else
- {
- return -1;
- }
- }
- return org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry.getVisualID(view.getType());
- }
-
- /**
- * @generated
- */
- public static String getModelID(View view)
- {
- View diagram = view.getDiagram();
- while (view != diagram)
- {
- EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
- if (annotation != null)
- {
- return (String)annotation.getDetails().get("modelID"); //$NON-NLS-1$
- }
- view = (View)view.eContainer();
- }
- return diagram != null ? diagram.getType() : null;
- }
-
- /**
- * @generated
- */
- public static int getVisualID(String type)
- {
- try
- {
- return Integer.parseInt(type);
- }
- catch (NumberFormatException e)
- {
- if (Boolean.TRUE.toString().equalsIgnoreCase(Platform.getDebugOption(DEBUG_KEY)))
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Unable to parse view type as a visualID number: " + type);
- }
- }
- return -1;
- }
-
- /**
- * @generated
- */
- public static String getType(int visualID)
- {
- return String.valueOf(visualID);
- }
-
- /**
- * @generated
- */
- public static int getDiagramVisualID(EObject domainElement)
- {
- if (domainElement == null)
- {
- return -1;
- }
- if (AcorePackage.eINSTANCE.getACoreRoot().isSuperTypeOf(domainElement.eClass())
- && isDiagram((ACoreRoot)domainElement))
- {
- return ACoreRootEditPart.VISUAL_ID;
- }
- return -1;
- }
-
- /**
- * @generated
- */
- public static int getNodeVisualID(View containerView, EObject domainElement)
- {
- if (domainElement == null)
- {
- return -1;
- }
- String containerModelID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
- .getModelID(containerView);
- if (!ACoreRootEditPart.MODEL_ID.equals(containerModelID))
- {
- return -1;
- }
- int containerVisualID;
- if (ACoreRootEditPart.MODEL_ID.equals(containerModelID))
- {
- containerVisualID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
- .getVisualID(containerView);
- }
- else
- {
- if (containerView instanceof Diagram)
- {
- containerVisualID = ACoreRootEditPart.VISUAL_ID;
- }
- else
- {
- return -1;
- }
- }
- switch (containerVisualID)
- {
- case ACoreRootEditPart.VISUAL_ID:
- if (AcorePackage.eINSTANCE.getAInterface().isSuperTypeOf(domainElement.eClass()))
- {
- return AInterfaceEditPart.VISUAL_ID;
- }
- if (AcorePackage.eINSTANCE.getAClass().isSuperTypeOf(domainElement.eClass()))
- {
- return AClassEditPart.VISUAL_ID;
- }
- break;
- case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
- if (AcorePackage.eINSTANCE.getAAttribute().isSuperTypeOf(domainElement.eClass()))
- {
- return AAttributeEditPart.VISUAL_ID;
- }
- break;
- case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
- if (AcorePackage.eINSTANCE.getAOperation().isSuperTypeOf(domainElement.eClass()))
- {
- return AOperationEditPart.VISUAL_ID;
- }
- break;
- case AClassAAttributeCompartmentEditPart.VISUAL_ID:
- if (AcorePackage.eINSTANCE.getAAttribute().isSuperTypeOf(domainElement.eClass()))
- {
- return AAttribute2EditPart.VISUAL_ID;
- }
- break;
- case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
- if (AcorePackage.eINSTANCE.getAOperation().isSuperTypeOf(domainElement.eClass()))
- {
- return AOperation2EditPart.VISUAL_ID;
- }
- break;
- }
- return -1;
- }
-
- /**
- * @generated
- */
- public static boolean canCreateNode(View containerView, int nodeVisualID)
- {
- String containerModelID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
- .getModelID(containerView);
- if (!ACoreRootEditPart.MODEL_ID.equals(containerModelID))
- {
- return false;
- }
- int containerVisualID;
- if (ACoreRootEditPart.MODEL_ID.equals(containerModelID))
- {
- containerVisualID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
- .getVisualID(containerView);
- }
- else
- {
- if (containerView instanceof Diagram)
- {
- containerVisualID = ACoreRootEditPart.VISUAL_ID;
- }
- else
- {
- return false;
- }
- }
- switch (containerVisualID)
- {
- case ACoreRootEditPart.VISUAL_ID:
- if (AInterfaceEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- if (AClassEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- case AInterfaceEditPart.VISUAL_ID:
- if (AInterfaceNameEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- if (AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- if (AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- case AClassEditPart.VISUAL_ID:
- if (AClassNameEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- if (AClassAAttributeCompartmentEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- if (AClassAOperationClassCompartmentEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
- if (AAttributeEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
- if (AOperationEditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- case AClassAAttributeCompartmentEditPart.VISUAL_ID:
- if (AAttribute2EditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
- if (AOperation2EditPart.VISUAL_ID == nodeVisualID)
- {
- return true;
- }
- break;
- }
- return false;
- }
-
- /**
- * @generated
- */
- public static int getLinkWithClassVisualID(EObject domainElement)
- {
- if (domainElement == null)
- {
- return -1;
- }
- return -1;
- }
-
- /**
- * User can change implementation of this method to handle some specific situations not covered by default logic.
- *
- * @generated
- */
- private static boolean isDiagram(ACoreRoot element)
- {
- return true;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * This registry is used to determine which type of visual object should be created for the corresponding Diagram, Node,
+ * ChildNode or Link represented by a domain model object.
+ *
+ * @generated
+ */
+public class AcoreVisualIDRegistry
+{
+
+ /**
+ * @generated
+ */
+ private static final String DEBUG_KEY = "org.eclipse.emf.cdo.dawn.examples.acore.diagram/debug/visualID"; //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static int getVisualID(View view)
+ {
+ if (view instanceof Diagram)
+ {
+ if (ACoreRootEditPart.MODEL_ID.equals(view.getType()))
+ {
+ return ACoreRootEditPart.VISUAL_ID;
+ }
+ else
+ {
+ return -1;
+ }
+ }
+ return org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry.getVisualID(view.getType());
+ }
+
+ /**
+ * @generated
+ */
+ public static String getModelID(View view)
+ {
+ View diagram = view.getDiagram();
+ while (view != diagram)
+ {
+ EAnnotation annotation = view.getEAnnotation("Shortcut"); //$NON-NLS-1$
+ if (annotation != null)
+ {
+ return (String)annotation.getDetails().get("modelID"); //$NON-NLS-1$
+ }
+ view = (View)view.eContainer();
+ }
+ return diagram != null ? diagram.getType() : null;
+ }
+
+ /**
+ * @generated
+ */
+ public static int getVisualID(String type)
+ {
+ try
+ {
+ return Integer.parseInt(type);
+ }
+ catch (NumberFormatException e)
+ {
+ if (Boolean.TRUE.toString().equalsIgnoreCase(Platform.getDebugOption(DEBUG_KEY)))
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Unable to parse view type as a visualID number: " + type);
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * @generated
+ */
+ public static String getType(int visualID)
+ {
+ return String.valueOf(visualID);
+ }
+
+ /**
+ * @generated
+ */
+ public static int getDiagramVisualID(EObject domainElement)
+ {
+ if (domainElement == null)
+ {
+ return -1;
+ }
+ if (AcorePackage.eINSTANCE.getACoreRoot().isSuperTypeOf(domainElement.eClass())
+ && isDiagram((ACoreRoot)domainElement))
+ {
+ return ACoreRootEditPart.VISUAL_ID;
+ }
+ return -1;
+ }
+
+ /**
+ * @generated
+ */
+ public static int getNodeVisualID(View containerView, EObject domainElement)
+ {
+ if (domainElement == null)
+ {
+ return -1;
+ }
+ String containerModelID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
+ .getModelID(containerView);
+ if (!ACoreRootEditPart.MODEL_ID.equals(containerModelID))
+ {
+ return -1;
+ }
+ int containerVisualID;
+ if (ACoreRootEditPart.MODEL_ID.equals(containerModelID))
+ {
+ containerVisualID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
+ .getVisualID(containerView);
+ }
+ else
+ {
+ if (containerView instanceof Diagram)
+ {
+ containerVisualID = ACoreRootEditPart.VISUAL_ID;
+ }
+ else
+ {
+ return -1;
+ }
+ }
+ switch (containerVisualID)
+ {
+ case ACoreRootEditPart.VISUAL_ID:
+ if (AcorePackage.eINSTANCE.getAInterface().isSuperTypeOf(domainElement.eClass()))
+ {
+ return AInterfaceEditPart.VISUAL_ID;
+ }
+ if (AcorePackage.eINSTANCE.getAClass().isSuperTypeOf(domainElement.eClass()))
+ {
+ return AClassEditPart.VISUAL_ID;
+ }
+ break;
+ case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
+ if (AcorePackage.eINSTANCE.getAAttribute().isSuperTypeOf(domainElement.eClass()))
+ {
+ return AAttributeEditPart.VISUAL_ID;
+ }
+ break;
+ case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
+ if (AcorePackage.eINSTANCE.getAOperation().isSuperTypeOf(domainElement.eClass()))
+ {
+ return AOperationEditPart.VISUAL_ID;
+ }
+ break;
+ case AClassAAttributeCompartmentEditPart.VISUAL_ID:
+ if (AcorePackage.eINSTANCE.getAAttribute().isSuperTypeOf(domainElement.eClass()))
+ {
+ return AAttribute2EditPart.VISUAL_ID;
+ }
+ break;
+ case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
+ if (AcorePackage.eINSTANCE.getAOperation().isSuperTypeOf(domainElement.eClass()))
+ {
+ return AOperation2EditPart.VISUAL_ID;
+ }
+ break;
+ }
+ return -1;
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean canCreateNode(View containerView, int nodeVisualID)
+ {
+ String containerModelID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
+ .getModelID(containerView);
+ if (!ACoreRootEditPart.MODEL_ID.equals(containerModelID))
+ {
+ return false;
+ }
+ int containerVisualID;
+ if (ACoreRootEditPart.MODEL_ID.equals(containerModelID))
+ {
+ containerVisualID = org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry
+ .getVisualID(containerView);
+ }
+ else
+ {
+ if (containerView instanceof Diagram)
+ {
+ containerVisualID = ACoreRootEditPart.VISUAL_ID;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ switch (containerVisualID)
+ {
+ case ACoreRootEditPart.VISUAL_ID:
+ if (AInterfaceEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ if (AClassEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ case AInterfaceEditPart.VISUAL_ID:
+ if (AInterfaceNameEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ if (AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ if (AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ case AClassEditPart.VISUAL_ID:
+ if (AClassNameEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ if (AClassAAttributeCompartmentEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ if (AClassAOperationClassCompartmentEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ case AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID:
+ if (AAttributeEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ case AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID:
+ if (AOperationEditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ case AClassAAttributeCompartmentEditPart.VISUAL_ID:
+ if (AAttribute2EditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ case AClassAOperationClassCompartmentEditPart.VISUAL_ID:
+ if (AOperation2EditPart.VISUAL_ID == nodeVisualID)
+ {
+ return true;
+ }
+ break;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ public static int getLinkWithClassVisualID(EObject domainElement)
+ {
+ if (domainElement == null)
+ {
+ return -1;
+ }
+ return -1;
+ }
+
+ /**
+ * User can change implementation of this method to handle some specific situations not covered by default logic.
+ *
+ * @generated
+ */
+ private static boolean isDiagram(ACoreRoot element)
+ {
+ return true;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DeleteElementAction.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DeleteElementAction.java
index 7f1b4a7c7b..ebae60478c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DeleteElementAction.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DeleteElementAction.java
@@ -1,104 +1,104 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.UnexecutableCommand;
-import org.eclipse.gmf.runtime.diagram.ui.actions.AbstractDeleteFromAction;
-import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
-import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramUIMessages;
-import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @generated
- */
-public class DeleteElementAction extends AbstractDeleteFromAction
-{
-
- /**
- * @generated
- */
- public DeleteElementAction(IWorkbenchPart part)
- {
- super(part);
- }
-
- /**
- * @generated
- */
- public DeleteElementAction(IWorkbenchPage workbenchPage)
- {
- super(workbenchPage);
- }
-
- /**
- * @generated
- */
- public void init()
- {
- super.init();
- setId(ActionIds.ACTION_DELETE_FROM_MODEL);
- setText(DiagramUIMessages.DiagramEditor_Delete_from_Model);
- setToolTipText(DiagramUIMessages.DiagramEditor_Delete_from_ModelToolTip);
- ISharedImages workbenchImages = PlatformUI.getWorkbench().getSharedImages();
- setHoverImageDescriptor(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
- setImageDescriptor(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
- setDisabledImageDescriptor(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
- }
-
- /**
- * @generated
- */
- protected String getCommandLabel()
- {
- return DiagramUIMessages.DiagramEditor_Delete_from_Model;
- }
-
- /**
- * @generated
- */
- protected Command getCommand(Request request)
- {
- List operationSet = getOperationSet();
- if (operationSet.isEmpty())
- {
- return UnexecutableCommand.INSTANCE;
- }
- Iterator editParts = operationSet.iterator();
- CompositeTransactionalCommand command = new CompositeTransactionalCommand(getEditingDomain(), getCommandLabel());
- while (editParts.hasNext())
- {
- EditPart editPart = (EditPart)editParts.next();
- Command curCommand = editPart.getCommand(request);
- if (curCommand != null)
- {
- command.compose(new CommandProxy(curCommand));
- }
- }
- if (command.isEmpty() || command.size() != operationSet.size())
- {
- return UnexecutableCommand.INSTANCE;
- }
- return new ICommandProxy(command);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.UnexecutableCommand;
+import org.eclipse.gmf.runtime.diagram.ui.actions.AbstractDeleteFromAction;
+import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
+import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramUIMessages;
+import org.eclipse.gmf.runtime.emf.commands.core.command.CompositeTransactionalCommand;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class DeleteElementAction extends AbstractDeleteFromAction
+{
+
+ /**
+ * @generated
+ */
+ public DeleteElementAction(IWorkbenchPart part)
+ {
+ super(part);
+ }
+
+ /**
+ * @generated
+ */
+ public DeleteElementAction(IWorkbenchPage workbenchPage)
+ {
+ super(workbenchPage);
+ }
+
+ /**
+ * @generated
+ */
+ public void init()
+ {
+ super.init();
+ setId(ActionIds.ACTION_DELETE_FROM_MODEL);
+ setText(DiagramUIMessages.DiagramEditor_Delete_from_Model);
+ setToolTipText(DiagramUIMessages.DiagramEditor_Delete_from_ModelToolTip);
+ ISharedImages workbenchImages = PlatformUI.getWorkbench().getSharedImages();
+ setHoverImageDescriptor(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
+ setImageDescriptor(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
+ setDisabledImageDescriptor(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
+ }
+
+ /**
+ * @generated
+ */
+ protected String getCommandLabel()
+ {
+ return DiagramUIMessages.DiagramEditor_Delete_from_Model;
+ }
+
+ /**
+ * @generated
+ */
+ protected Command getCommand(Request request)
+ {
+ List operationSet = getOperationSet();
+ if (operationSet.isEmpty())
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+ Iterator editParts = operationSet.iterator();
+ CompositeTransactionalCommand command = new CompositeTransactionalCommand(getEditingDomain(), getCommandLabel());
+ while (editParts.hasNext())
+ {
+ EditPart editPart = (EditPart)editParts.next();
+ Command curCommand = editPart.getCommand(request);
+ if (curCommand != null)
+ {
+ command.compose(new CommandProxy(curCommand));
+ }
+ }
+ if (command.isEmpty() || command.size() != operationSet.size())
+ {
+ return UnexecutableCommand.INSTANCE;
+ }
+ return new ICommandProxy(command);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DiagramEditorContextMenuProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DiagramEditorContextMenuProvider.java
index 30b5cfb376..ab174c8a27 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DiagramEditorContextMenuProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/DiagramEditorContextMenuProvider.java
@@ -1,88 +1,88 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.ContributionItemService;
-import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
-import org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * @generated
- */
-public class DiagramEditorContextMenuProvider extends DiagramContextMenuProvider
-{
-
- /**
- * @generated
- */
- private IWorkbenchPart part;
-
- /**
- * @generated
- */
- private DeleteElementAction deleteAction;
-
- /**
- * @generated
- */
- public DiagramEditorContextMenuProvider(IWorkbenchPart part, EditPartViewer viewer)
- {
- super(part, viewer);
- this.part = part;
- deleteAction = new DeleteElementAction(part);
- deleteAction.init();
- }
-
- /**
- * @generated
- */
- public void dispose()
- {
- if (deleteAction != null)
- {
- deleteAction.dispose();
- deleteAction = null;
- }
- super.dispose();
- }
-
- /**
- * @generated
- */
- public void buildContextMenu(final IMenuManager menu)
- {
- getViewer().flush();
- try
- {
- TransactionUtil.getEditingDomain((EObject)getViewer().getContents().getModel()).runExclusive(new Runnable()
- {
-
- public void run()
- {
- ContributionItemService.getInstance().contributeToPopupMenu(DiagramEditorContextMenuProvider.this, part);
- menu.remove(ActionIds.ACTION_DELETE_FROM_MODEL);
- menu.appendToGroup("editGroup", deleteAction);
- }
- });
- }
- catch (Exception e)
- {
- AcoreDiagramEditorPlugin.getInstance().logError("Error building context menu", e);
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+
+import org.eclipse.gef.EditPartViewer;
+import org.eclipse.gmf.runtime.common.ui.services.action.contributionitem.ContributionItemService;
+import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
+import org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.ui.IWorkbenchPart;
+
+/**
+ * @generated
+ */
+public class DiagramEditorContextMenuProvider extends DiagramContextMenuProvider
+{
+
+ /**
+ * @generated
+ */
+ private IWorkbenchPart part;
+
+ /**
+ * @generated
+ */
+ private DeleteElementAction deleteAction;
+
+ /**
+ * @generated
+ */
+ public DiagramEditorContextMenuProvider(IWorkbenchPart part, EditPartViewer viewer)
+ {
+ super(part, viewer);
+ this.part = part;
+ deleteAction = new DeleteElementAction(part);
+ deleteAction.init();
+ }
+
+ /**
+ * @generated
+ */
+ public void dispose()
+ {
+ if (deleteAction != null)
+ {
+ deleteAction.dispose();
+ deleteAction = null;
+ }
+ super.dispose();
+ }
+
+ /**
+ * @generated
+ */
+ public void buildContextMenu(final IMenuManager menu)
+ {
+ getViewer().flush();
+ try
+ {
+ TransactionUtil.getEditingDomain((EObject)getViewer().getContents().getModel()).runExclusive(new Runnable()
+ {
+
+ public void run()
+ {
+ ContributionItemService.getInstance().contributeToPopupMenu(DiagramEditorContextMenuProvider.this, part);
+ menu.remove(ActionIds.ACTION_DELETE_FROM_MODEL);
+ menu.appendToGroup("editGroup", deleteAction);
+ }
+ });
+ }
+ catch (Exception e)
+ {
+ AcoreDiagramEditorPlugin.getInstance().logError("Error building context menu", e);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/LoadResourceAction.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/LoadResourceAction.java
index 1be78fc346..bf6f46a3bf 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/LoadResourceAction.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/LoadResourceAction.java
@@ -1,44 +1,44 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * @generated
- */
-public class LoadResourceAction extends AbstractHandler
-{
- /**
- * @generated
- */
- public Object execute(ExecutionEvent event) throws ExecutionException
- {
- IEditorPart diagramEditor = HandlerUtil.getActiveEditorChecked(event);
- Shell shell = diagramEditor.getEditorSite().getShell();
- assert diagramEditor instanceof DiagramEditor;
- TransactionalEditingDomain editingDomain = ((DiagramEditor)diagramEditor).getEditingDomain();
- org.eclipse.emf.edit.ui.action.LoadResourceAction.LoadResourceDialog loadResourceDialog = new org.eclipse.emf.edit.ui.action.LoadResourceAction.LoadResourceDialog(
- shell, editingDomain);
- loadResourceDialog.open();
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+/**
+ * @generated
+ */
+public class LoadResourceAction extends AbstractHandler
+{
+ /**
+ * @generated
+ */
+ public Object execute(ExecutionEvent event) throws ExecutionException
+ {
+ IEditorPart diagramEditor = HandlerUtil.getActiveEditorChecked(event);
+ Shell shell = diagramEditor.getEditorSite().getShell();
+ assert diagramEditor instanceof DiagramEditor;
+ TransactionalEditingDomain editingDomain = ((DiagramEditor)diagramEditor).getEditingDomain();
+ org.eclipse.emf.edit.ui.action.LoadResourceAction.LoadResourceDialog loadResourceDialog = new org.eclipse.emf.edit.ui.action.LoadResourceAction.LoadResourceDialog(
+ shell, editingDomain);
+ loadResourceDialog.open();
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/Messages.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/Messages.java
index a6f2927b3a..fcf0b6408b 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/Messages.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/Messages.java
@@ -1,488 +1,488 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @generated
- */
-public class Messages extends NLS
-{
-
- /**
- * @generated
- */
- static
- {
- NLS.initializeMessages("messages", Messages.class); //$NON-NLS-1$
- }
-
- /**
- * @generated
- */
- private Messages()
- {
- }
-
- /**
- * @generated
- */
- public static String AcoreCreationWizardTitle;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizard_DiagramModelFilePageTitle;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizard_DiagramModelFilePageDescription;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizard_DomainModelFilePageTitle;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizard_DomainModelFilePageDescription;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizardOpenEditorError;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizardCreationError;
-
- /**
- * @generated
- */
- public static String AcoreCreationWizardPageExtensionError;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditorUtil_OpenModelResourceErrorDialogTitle;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditorUtil_OpenModelResourceErrorDialogMessage;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditorUtil_CreateDiagramProgressTask;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditorUtil_CreateDiagramCommandLabel;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_isModifiable;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_handleElementContentChanged;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_IncorrectInputError;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_NoDiagramInResourceError;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_DiagramLoadingError;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_UnsynchronizedFileSaveError;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_SaveDiagramTask;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_SaveNextResourceTask;
-
- /**
- * @generated
- */
- public static String AcoreDocumentProvider_SaveAsOperation;
-
- /**
- * @generated
- */
- public static String InitDiagramFile_ResourceErrorDialogTitle;
-
- /**
- * @generated
- */
- public static String InitDiagramFile_ResourceErrorDialogMessage;
-
- /**
- * @generated
- */
- public static String InitDiagramFile_WizardTitle;
-
- /**
- * @generated
- */
- public static String InitDiagramFile_OpenModelFileDialogTitle;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_CreationPageName;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_CreationPageTitle;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_CreationPageDescription;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_RootSelectionPageName;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_RootSelectionPageTitle;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_RootSelectionPageDescription;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_InitDiagramCommand;
-
- /**
- * @generated
- */
- public static String AcoreNewDiagramFileWizard_IncorrectRootError;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditor_SavingDeletedFile;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditor_SaveAsErrorTitle;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditor_SaveAsErrorMessage;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditor_SaveErrorTitle;
-
- /**
- * @generated
- */
- public static String AcoreDiagramEditor_SaveErrorMessage;
-
- /**
- * @generated
- */
- public static String AcoreElementChooserDialog_SelectModelElementTitle;
-
- /**
- * @generated
- */
- public static String ModelElementSelectionPageMessage;
-
- /**
- * @generated
- */
- public static String ValidateActionMessage;
-
- /**
- * @generated
- */
- public static String Node1Group_title;
-
- /**
- * @generated
- */
- public static String Connections2Group_title;
-
- /**
- * @generated
- */
- public static String AClass1CreationTool_title;
-
- /**
- * @generated
- */
- public static String AClass1CreationTool_desc;
-
- /**
- * @generated
- */
- public static String AInterface2CreationTool_title;
-
- /**
- * @generated
- */
- public static String AInterface2CreationTool_desc;
-
- /**
- * @generated
- */
- public static String AAttribute3CreationTool_title;
-
- /**
- * @generated
- */
- public static String AAttribute3CreationTool_desc;
-
- /**
- * @generated
- */
- public static String AOperation4CreationTool_title;
-
- /**
- * @generated
- */
- public static String AOperation4CreationTool_desc;
-
- /**
- * @generated
- */
- public static String Inherits1CreationTool_title;
-
- /**
- * @generated
- */
- public static String Inherits1CreationTool_desc;
-
- /**
- * @generated
- */
- public static String Implements2CreationTool_title;
-
- /**
- * @generated
- */
- public static String Implements2CreationTool_desc;
-
- /**
- * @generated
- */
- public static String Association3CreationTool_title;
-
- /**
- * @generated
- */
- public static String Association3CreationTool_desc;
-
- /**
- * @generated
- */
- public static String Aggregation4CreationTool_title;
-
- /**
- * @generated
- */
- public static String Aggregation4CreationTool_desc;
-
- /**
- * @generated
- */
- public static String Composition5CreationTool_title;
-
- /**
- * @generated
- */
- public static String Composition5CreationTool_desc;
-
- /**
- * @generated
- */
- public static String AInterfaceAAttributeInterfaceCompartmentEditPart_title;
-
- /**
- * @generated
- */
- public static String AInterfaceAOperationInterfaceCompartmentEditPart_title;
-
- /**
- * @generated
- */
- public static String AClassAAttributeCompartmentEditPart_title;
-
- /**
- * @generated
- */
- public static String AClassAOperationClassCompartmentEditPart_title;
-
- /**
- * @generated
- */
- public static String CommandName_OpenDiagram;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassSubClasses_4001_target;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassSubClasses_4001_source;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassCompositions_4005_target;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassCompositions_4005_source;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AInterface_2001_incominglinks;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassAggregations_4004_target;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassAggregations_4004_source;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassImplementedInterfaces_4002_target;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassImplementedInterfaces_4002_source;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClass_2002_incominglinks;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClass_2002_outgoinglinks;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_ACoreRoot_1000_links;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassAssociations_4003_target;
-
- /**
- * @generated
- */
- public static String NavigatorGroupName_AClassAssociations_4003_source;
-
- /**
- * @generated
- */
- public static String NavigatorActionProvider_OpenDiagramActionName;
-
- /**
- * @generated
- */
- public static String AbstractParser_UnexpectedValueType;
-
- /**
- * @generated
- */
- public static String AbstractParser_WrongStringConversion;
-
- /**
- * @generated
- */
- public static String AbstractParser_UnknownLiteral;
-
- /**
- * @generated
- */
- public static String MessageFormatParser_InvalidInputError;
-
- /**
- * @generated
- */
- public static String AcoreModelingAssistantProviderTitle;
-
- /**
- * @generated
- */
- public static String AcoreModelingAssistantProviderMessage;
-
- // TODO: put accessor fields manually
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @generated
+ */
+public class Messages extends NLS
+{
+
+ /**
+ * @generated
+ */
+ static
+ {
+ NLS.initializeMessages("messages", Messages.class); //$NON-NLS-1$
+ }
+
+ /**
+ * @generated
+ */
+ private Messages()
+ {
+ }
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizardTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizard_DiagramModelFilePageTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizard_DiagramModelFilePageDescription;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizard_DomainModelFilePageTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizard_DomainModelFilePageDescription;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizardOpenEditorError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizardCreationError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreCreationWizardPageExtensionError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditorUtil_OpenModelResourceErrorDialogTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditorUtil_OpenModelResourceErrorDialogMessage;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditorUtil_CreateDiagramProgressTask;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditorUtil_CreateDiagramCommandLabel;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_isModifiable;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_handleElementContentChanged;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_IncorrectInputError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_NoDiagramInResourceError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_DiagramLoadingError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_UnsynchronizedFileSaveError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_SaveDiagramTask;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_SaveNextResourceTask;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDocumentProvider_SaveAsOperation;
+
+ /**
+ * @generated
+ */
+ public static String InitDiagramFile_ResourceErrorDialogTitle;
+
+ /**
+ * @generated
+ */
+ public static String InitDiagramFile_ResourceErrorDialogMessage;
+
+ /**
+ * @generated
+ */
+ public static String InitDiagramFile_WizardTitle;
+
+ /**
+ * @generated
+ */
+ public static String InitDiagramFile_OpenModelFileDialogTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_CreationPageName;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_CreationPageTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_CreationPageDescription;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_RootSelectionPageName;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_RootSelectionPageTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_RootSelectionPageDescription;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_InitDiagramCommand;
+
+ /**
+ * @generated
+ */
+ public static String AcoreNewDiagramFileWizard_IncorrectRootError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditor_SavingDeletedFile;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditor_SaveAsErrorTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditor_SaveAsErrorMessage;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditor_SaveErrorTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreDiagramEditor_SaveErrorMessage;
+
+ /**
+ * @generated
+ */
+ public static String AcoreElementChooserDialog_SelectModelElementTitle;
+
+ /**
+ * @generated
+ */
+ public static String ModelElementSelectionPageMessage;
+
+ /**
+ * @generated
+ */
+ public static String ValidateActionMessage;
+
+ /**
+ * @generated
+ */
+ public static String Node1Group_title;
+
+ /**
+ * @generated
+ */
+ public static String Connections2Group_title;
+
+ /**
+ * @generated
+ */
+ public static String AClass1CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String AClass1CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String AInterface2CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String AInterface2CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String AAttribute3CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String AAttribute3CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String AOperation4CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String AOperation4CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String Inherits1CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String Inherits1CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String Implements2CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String Implements2CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String Association3CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String Association3CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String Aggregation4CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String Aggregation4CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String Composition5CreationTool_title;
+
+ /**
+ * @generated
+ */
+ public static String Composition5CreationTool_desc;
+
+ /**
+ * @generated
+ */
+ public static String AInterfaceAAttributeInterfaceCompartmentEditPart_title;
+
+ /**
+ * @generated
+ */
+ public static String AInterfaceAOperationInterfaceCompartmentEditPart_title;
+
+ /**
+ * @generated
+ */
+ public static String AClassAAttributeCompartmentEditPart_title;
+
+ /**
+ * @generated
+ */
+ public static String AClassAOperationClassCompartmentEditPart_title;
+
+ /**
+ * @generated
+ */
+ public static String CommandName_OpenDiagram;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassSubClasses_4001_target;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassSubClasses_4001_source;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassCompositions_4005_target;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassCompositions_4005_source;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AInterface_2001_incominglinks;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassAggregations_4004_target;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassAggregations_4004_source;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassImplementedInterfaces_4002_target;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassImplementedInterfaces_4002_source;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClass_2002_incominglinks;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClass_2002_outgoinglinks;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_ACoreRoot_1000_links;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassAssociations_4003_target;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorGroupName_AClassAssociations_4003_source;
+
+ /**
+ * @generated
+ */
+ public static String NavigatorActionProvider_OpenDiagramActionName;
+
+ /**
+ * @generated
+ */
+ public static String AbstractParser_UnexpectedValueType;
+
+ /**
+ * @generated
+ */
+ public static String AbstractParser_WrongStringConversion;
+
+ /**
+ * @generated
+ */
+ public static String AbstractParser_UnknownLiteral;
+
+ /**
+ * @generated
+ */
+ public static String MessageFormatParser_InvalidInputError;
+
+ /**
+ * @generated
+ */
+ public static String AcoreModelingAssistantProviderTitle;
+
+ /**
+ * @generated
+ */
+ public static String AcoreModelingAssistantProviderMessage;
+
+ // TODO: put accessor fields manually
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/ModelElementSelectionPage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/ModelElementSelectionPage.java
index 653a9ae4c7..e7ebeaee11 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/ModelElementSelectionPage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/part/ModelElementSelectionPage.java
@@ -1,174 +1,174 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.edit.provider.IWrapperItemProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Wizard page that allows to select element from model.
- *
- * @generated
- */
-public class ModelElementSelectionPage extends WizardPage
-{
- /**
- * @generated
- */
- protected EObject selectedModelElement;
-
- /**
- * @generated
- */
- private TreeViewer modelViewer;
-
- /**
- * @generated
- */
- public ModelElementSelectionPage(String pageName)
- {
- super(pageName);
- }
-
- /**
- * @generated
- */
- public EObject getModelElement()
- {
- return selectedModelElement;
- }
-
- /**
- * @generated
- */
- public void setModelElement(EObject modelElement)
- {
- selectedModelElement = modelElement;
- if (modelViewer != null)
- {
- if (selectedModelElement != null)
- {
- modelViewer.setInput(selectedModelElement.eResource());
- modelViewer.setSelection(new StructuredSelection(selectedModelElement));
- }
- else
- {
- modelViewer.setInput(null);
- }
- setPageComplete(validatePage());
- }
- }
-
- /**
- * @generated
- */
- public void createControl(Composite parent)
- {
- initializeDialogUnits(parent);
-
- Composite plate = new Composite(parent, SWT.NONE);
- plate.setLayoutData(new GridData(GridData.FILL_BOTH));
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- plate.setLayout(layout);
- setControl(plate);
-
- Label label = new Label(plate, SWT.NONE);
- label.setText(getSelectionTitle());
- label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
- modelViewer = new TreeViewer(plate, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- GridData layoutData = new GridData(GridData.FILL_BOTH);
- layoutData.heightHint = 300;
- layoutData.widthHint = 300;
- modelViewer.getTree().setLayoutData(layoutData);
- modelViewer.setContentProvider(new AdapterFactoryContentProvider(AcoreDiagramEditorPlugin.getInstance()
- .getItemProvidersAdapterFactory()));
- modelViewer.setLabelProvider(new AdapterFactoryLabelProvider(AcoreDiagramEditorPlugin.getInstance()
- .getItemProvidersAdapterFactory()));
- if (selectedModelElement != null)
- {
- modelViewer.setInput(selectedModelElement.eResource());
- modelViewer.setSelection(new StructuredSelection(selectedModelElement));
- }
- modelViewer.addSelectionChangedListener(new ISelectionChangedListener()
- {
- public void selectionChanged(SelectionChangedEvent event)
- {
- ModelElementSelectionPage.this.updateSelection((IStructuredSelection)event.getSelection());
- }
- });
-
- setPageComplete(validatePage());
- }
-
- /**
- * Override to provide custom model element description.
- *
- * @generated
- */
- protected String getSelectionTitle()
- {
- return Messages.ModelElementSelectionPageMessage;
- }
-
- /**
- * @generated
- */
- protected void updateSelection(IStructuredSelection selection)
- {
- selectedModelElement = null;
- if (selection.size() == 1)
- {
- Object selectedElement = selection.getFirstElement();
- if (selectedElement instanceof IWrapperItemProvider)
- {
- selectedElement = ((IWrapperItemProvider)selectedElement).getValue();
- }
- if (selectedElement instanceof FeatureMap.Entry)
- {
- selectedElement = ((FeatureMap.Entry)selectedElement).getValue();
- }
- if (selectedElement instanceof EObject)
- {
- selectedModelElement = (EObject)selectedElement;
- }
- }
- setPageComplete(validatePage());
- }
-
- /**
- * Override to provide specific validation of the selected model element.
- *
- * @generated
- */
- protected boolean validatePage()
- {
- return true;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.part;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.edit.provider.IWrapperItemProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * Wizard page that allows to select element from model.
+ *
+ * @generated
+ */
+public class ModelElementSelectionPage extends WizardPage
+{
+ /**
+ * @generated
+ */
+ protected EObject selectedModelElement;
+
+ /**
+ * @generated
+ */
+ private TreeViewer modelViewer;
+
+ /**
+ * @generated
+ */
+ public ModelElementSelectionPage(String pageName)
+ {
+ super(pageName);
+ }
+
+ /**
+ * @generated
+ */
+ public EObject getModelElement()
+ {
+ return selectedModelElement;
+ }
+
+ /**
+ * @generated
+ */
+ public void setModelElement(EObject modelElement)
+ {
+ selectedModelElement = modelElement;
+ if (modelViewer != null)
+ {
+ if (selectedModelElement != null)
+ {
+ modelViewer.setInput(selectedModelElement.eResource());
+ modelViewer.setSelection(new StructuredSelection(selectedModelElement));
+ }
+ else
+ {
+ modelViewer.setInput(null);
+ }
+ setPageComplete(validatePage());
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public void createControl(Composite parent)
+ {
+ initializeDialogUnits(parent);
+
+ Composite plate = new Composite(parent, SWT.NONE);
+ plate.setLayoutData(new GridData(GridData.FILL_BOTH));
+ GridLayout layout = new GridLayout();
+ layout.marginWidth = 0;
+ plate.setLayout(layout);
+ setControl(plate);
+
+ Label label = new Label(plate, SWT.NONE);
+ label.setText(getSelectionTitle());
+ label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+
+ modelViewer = new TreeViewer(plate, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
+ GridData layoutData = new GridData(GridData.FILL_BOTH);
+ layoutData.heightHint = 300;
+ layoutData.widthHint = 300;
+ modelViewer.getTree().setLayoutData(layoutData);
+ modelViewer.setContentProvider(new AdapterFactoryContentProvider(AcoreDiagramEditorPlugin.getInstance()
+ .getItemProvidersAdapterFactory()));
+ modelViewer.setLabelProvider(new AdapterFactoryLabelProvider(AcoreDiagramEditorPlugin.getInstance()
+ .getItemProvidersAdapterFactory()));
+ if (selectedModelElement != null)
+ {
+ modelViewer.setInput(selectedModelElement.eResource());
+ modelViewer.setSelection(new StructuredSelection(selectedModelElement));
+ }
+ modelViewer.addSelectionChangedListener(new ISelectionChangedListener()
+ {
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+ ModelElementSelectionPage.this.updateSelection((IStructuredSelection)event.getSelection());
+ }
+ });
+
+ setPageComplete(validatePage());
+ }
+
+ /**
+ * Override to provide custom model element description.
+ *
+ * @generated
+ */
+ protected String getSelectionTitle()
+ {
+ return Messages.ModelElementSelectionPageMessage;
+ }
+
+ /**
+ * @generated
+ */
+ protected void updateSelection(IStructuredSelection selection)
+ {
+ selectedModelElement = null;
+ if (selection.size() == 1)
+ {
+ Object selectedElement = selection.getFirstElement();
+ if (selectedElement instanceof IWrapperItemProvider)
+ {
+ selectedElement = ((IWrapperItemProvider)selectedElement).getValue();
+ }
+ if (selectedElement instanceof FeatureMap.Entry)
+ {
+ selectedElement = ((FeatureMap.Entry)selectedElement).getValue();
+ }
+ if (selectedElement instanceof EObject)
+ {
+ selectedModelElement = (EObject)selectedElement;
+ }
+ }
+ setPageComplete(validatePage());
+ }
+
+ /**
+ * Override to provide specific validation of the selected model element.
+ *
+ * @generated
+ */
+ protected boolean validatePage()
+ {
+ return true;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramAppearancePreferencePage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramAppearancePreferencePage.java
index 839943a4a8..0460c2b778 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramAppearancePreferencePage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramAppearancePreferencePage.java
@@ -1,31 +1,31 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.gmf.runtime.diagram.ui.preferences.AppearancePreferencePage;
-
-/**
- * @generated
- */
-public class DiagramAppearancePreferencePage extends AppearancePreferencePage
-{
-
- /**
- * @generated
- */
- public DiagramAppearancePreferencePage()
- {
- setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.gmf.runtime.diagram.ui.preferences.AppearancePreferencePage;
+
+/**
+ * @generated
+ */
+public class DiagramAppearancePreferencePage extends AppearancePreferencePage
+{
+
+ /**
+ * @generated
+ */
+ public DiagramAppearancePreferencePage()
+ {
+ setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramConnectionsPreferencePage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramConnectionsPreferencePage.java
index b4f17a64da..5757f84520 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramConnectionsPreferencePage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramConnectionsPreferencePage.java
@@ -1,31 +1,31 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.gmf.runtime.diagram.ui.preferences.ConnectionsPreferencePage;
-
-/**
- * @generated
- */
-public class DiagramConnectionsPreferencePage extends ConnectionsPreferencePage
-{
-
- /**
- * @generated
- */
- public DiagramConnectionsPreferencePage()
- {
- setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.gmf.runtime.diagram.ui.preferences.ConnectionsPreferencePage;
+
+/**
+ * @generated
+ */
+public class DiagramConnectionsPreferencePage extends ConnectionsPreferencePage
+{
+
+ /**
+ * @generated
+ */
+ public DiagramConnectionsPreferencePage()
+ {
+ setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramGeneralPreferencePage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramGeneralPreferencePage.java
index 6d136aab4c..6d0be62751 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramGeneralPreferencePage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramGeneralPreferencePage.java
@@ -1,31 +1,31 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.gmf.runtime.diagram.ui.preferences.DiagramsPreferencePage;
-
-/**
- * @generated
- */
-public class DiagramGeneralPreferencePage extends DiagramsPreferencePage
-{
-
- /**
- * @generated
- */
- public DiagramGeneralPreferencePage()
- {
- setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.gmf.runtime.diagram.ui.preferences.DiagramsPreferencePage;
+
+/**
+ * @generated
+ */
+public class DiagramGeneralPreferencePage extends DiagramsPreferencePage
+{
+
+ /**
+ * @generated
+ */
+ public DiagramGeneralPreferencePage()
+ {
+ setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPreferenceInitializer.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPreferenceInitializer.java
index 63d2bb8088..ba1b2a3137 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPreferenceInitializer.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPreferenceInitializer.java
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * @generated
- */
-public class DiagramPreferenceInitializer extends AbstractPreferenceInitializer
-{
-
- /**
- * @generated
- */
- public void initializeDefaultPreferences()
- {
- IPreferenceStore store = getPreferenceStore();
- DiagramGeneralPreferencePage.initDefaults(store);
- DiagramAppearancePreferencePage.initDefaults(store);
- DiagramConnectionsPreferencePage.initDefaults(store);
- DiagramPrintingPreferencePage.initDefaults(store);
- DiagramRulersAndGridPreferencePage.initDefaults(store);
-
- }
-
- /**
- * @generated
- */
- protected IPreferenceStore getPreferenceStore()
- {
- return AcoreDiagramEditorPlugin.getInstance().getPreferenceStore();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+
+/**
+ * @generated
+ */
+public class DiagramPreferenceInitializer extends AbstractPreferenceInitializer
+{
+
+ /**
+ * @generated
+ */
+ public void initializeDefaultPreferences()
+ {
+ IPreferenceStore store = getPreferenceStore();
+ DiagramGeneralPreferencePage.initDefaults(store);
+ DiagramAppearancePreferencePage.initDefaults(store);
+ DiagramConnectionsPreferencePage.initDefaults(store);
+ DiagramPrintingPreferencePage.initDefaults(store);
+ DiagramRulersAndGridPreferencePage.initDefaults(store);
+
+ }
+
+ /**
+ * @generated
+ */
+ protected IPreferenceStore getPreferenceStore()
+ {
+ return AcoreDiagramEditorPlugin.getInstance().getPreferenceStore();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPrintingPreferencePage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPrintingPreferencePage.java
index 4d3e10568a..4a3cde5251 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPrintingPreferencePage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramPrintingPreferencePage.java
@@ -1,31 +1,31 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.gmf.runtime.diagram.ui.preferences.PrintingPreferencePage;
-
-/**
- * @generated
- */
-public class DiagramPrintingPreferencePage extends PrintingPreferencePage
-{
-
- /**
- * @generated
- */
- public DiagramPrintingPreferencePage()
- {
- setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.gmf.runtime.diagram.ui.preferences.PrintingPreferencePage;
+
+/**
+ * @generated
+ */
+public class DiagramPrintingPreferencePage extends PrintingPreferencePage
+{
+
+ /**
+ * @generated
+ */
+ public DiagramPrintingPreferencePage()
+ {
+ setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramRulersAndGridPreferencePage.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramRulersAndGridPreferencePage.java
index 6539728a7c..d7d7bac986 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramRulersAndGridPreferencePage.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/preferences/DiagramRulersAndGridPreferencePage.java
@@ -1,31 +1,31 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.gmf.runtime.diagram.ui.preferences.RulerGridPreferencePage;
-
-/**
- * @generated
- */
-public class DiagramRulersAndGridPreferencePage extends RulerGridPreferencePage
-{
-
- /**
- * @generated
- */
- public DiagramRulersAndGridPreferencePage()
- {
- setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.preferences;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.gmf.runtime.diagram.ui.preferences.RulerGridPreferencePage;
+
+/**
+ * @generated
+ */
+public class DiagramRulersAndGridPreferencePage extends RulerGridPreferencePage
+{
+
+ /**
+ * @generated
+ */
+ public DiagramRulersAndGridPreferencePage()
+ {
+ setPreferenceStore(AcoreDiagramEditorPlugin.getInstance().getPreferenceStore());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreEditPartProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreEditPartProvider.java
index c69c3d98f0..af7cd9549f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreEditPartProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreEditPartProvider.java
@@ -1,173 +1,173 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AcoreEditPartFactory;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.services.editpart.AbstractEditPartProvider;
-import org.eclipse.gmf.runtime.diagram.ui.services.editpart.CreateGraphicEditPartOperation;
-import org.eclipse.gmf.runtime.diagram.ui.services.editpart.IEditPartOperation;
-import org.eclipse.gmf.runtime.notation.View;
-
-import java.lang.ref.WeakReference;
-
-/**
- * @generated
- */
-public class AcoreEditPartProvider extends AbstractEditPartProvider
-{
-
- /**
- * @generated
- */
- private EditPartFactory factory;
-
- /**
- * @generated
- */
- private boolean allowCaching;
-
- /**
- * @generated
- */
- private WeakReference cachedPart;
-
- /**
- * @generated
- */
- private WeakReference cachedView;
-
- /**
- * @generated
- */
- public AcoreEditPartProvider()
- {
- setFactory(new AcoreEditPartFactory());
- setAllowCaching(true);
- }
-
- /**
- * @generated
- */
- public final EditPartFactory getFactory()
- {
- return factory;
- }
-
- /**
- * @generated
- */
- protected void setFactory(EditPartFactory factory)
- {
- this.factory = factory;
- }
-
- /**
- * @generated
- */
- public final boolean isAllowCaching()
- {
- return allowCaching;
- }
-
- /**
- * @generated
- */
- protected synchronized void setAllowCaching(boolean allowCaching)
- {
- this.allowCaching = allowCaching;
- if (!allowCaching)
- {
- cachedPart = null;
- cachedView = null;
- }
- }
-
- /**
- * @generated
- */
- protected IGraphicalEditPart createEditPart(View view)
- {
- EditPart part = factory.createEditPart(null, view);
- if (part instanceof IGraphicalEditPart)
- {
- return (IGraphicalEditPart)part;
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected IGraphicalEditPart getCachedPart(View view)
- {
- if (cachedView != null && cachedView.get() == view)
- {
- return (IGraphicalEditPart)cachedPart.get();
- }
- return null;
- }
-
- /**
- * @generated
- */
- public synchronized IGraphicalEditPart createGraphicEditPart(View view)
- {
- if (isAllowCaching())
- {
- IGraphicalEditPart part = getCachedPart(view);
- cachedPart = null;
- cachedView = null;
- if (part != null)
- {
- return part;
- }
- }
- return createEditPart(view);
- }
-
- /**
- * @generated
- */
- public synchronized boolean provides(IOperation operation)
- {
- if (operation instanceof CreateGraphicEditPartOperation)
- {
- View view = ((IEditPartOperation)operation).getView();
- if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view)))
- {
- return false;
- }
- if (isAllowCaching() && getCachedPart(view) != null)
- {
- return true;
- }
- IGraphicalEditPart part = createEditPart(view);
- if (part != null)
- {
- if (isAllowCaching())
- {
- cachedPart = new WeakReference(part);
- cachedView = new WeakReference(view);
- }
- return true;
- }
- }
- return false;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AcoreEditPartFactory;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.services.editpart.AbstractEditPartProvider;
+import org.eclipse.gmf.runtime.diagram.ui.services.editpart.CreateGraphicEditPartOperation;
+import org.eclipse.gmf.runtime.diagram.ui.services.editpart.IEditPartOperation;
+import org.eclipse.gmf.runtime.notation.View;
+
+import java.lang.ref.WeakReference;
+
+/**
+ * @generated
+ */
+public class AcoreEditPartProvider extends AbstractEditPartProvider
+{
+
+ /**
+ * @generated
+ */
+ private EditPartFactory factory;
+
+ /**
+ * @generated
+ */
+ private boolean allowCaching;
+
+ /**
+ * @generated
+ */
+ private WeakReference cachedPart;
+
+ /**
+ * @generated
+ */
+ private WeakReference cachedView;
+
+ /**
+ * @generated
+ */
+ public AcoreEditPartProvider()
+ {
+ setFactory(new AcoreEditPartFactory());
+ setAllowCaching(true);
+ }
+
+ /**
+ * @generated
+ */
+ public final EditPartFactory getFactory()
+ {
+ return factory;
+ }
+
+ /**
+ * @generated
+ */
+ protected void setFactory(EditPartFactory factory)
+ {
+ this.factory = factory;
+ }
+
+ /**
+ * @generated
+ */
+ public final boolean isAllowCaching()
+ {
+ return allowCaching;
+ }
+
+ /**
+ * @generated
+ */
+ protected synchronized void setAllowCaching(boolean allowCaching)
+ {
+ this.allowCaching = allowCaching;
+ if (!allowCaching)
+ {
+ cachedPart = null;
+ cachedView = null;
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected IGraphicalEditPart createEditPart(View view)
+ {
+ EditPart part = factory.createEditPart(null, view);
+ if (part instanceof IGraphicalEditPart)
+ {
+ return (IGraphicalEditPart)part;
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected IGraphicalEditPart getCachedPart(View view)
+ {
+ if (cachedView != null && cachedView.get() == view)
+ {
+ return (IGraphicalEditPart)cachedPart.get();
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public synchronized IGraphicalEditPart createGraphicEditPart(View view)
+ {
+ if (isAllowCaching())
+ {
+ IGraphicalEditPart part = getCachedPart(view);
+ cachedPart = null;
+ cachedView = null;
+ if (part != null)
+ {
+ return part;
+ }
+ }
+ return createEditPart(view);
+ }
+
+ /**
+ * @generated
+ */
+ public synchronized boolean provides(IOperation operation)
+ {
+ if (operation instanceof CreateGraphicEditPartOperation)
+ {
+ View view = ((IEditPartOperation)operation).getView();
+ if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(view)))
+ {
+ return false;
+ }
+ if (isAllowCaching() && getCachedPart(view) != null)
+ {
+ return true;
+ }
+ IGraphicalEditPart part = createEditPart(view);
+ if (part != null)
+ {
+ if (isAllowCaching())
+ {
+ cachedPart = new WeakReference(part);
+ cachedView = new WeakReference(view);
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreElementTypes.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreElementTypes.java
index bae56eea39..229c4288c1 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreElementTypes.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreElementTypes.java
@@ -1,357 +1,357 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.ENamedElement;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-import java.util.HashSet;
-import java.util.IdentityHashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @generated
- */
-public class AcoreElementTypes extends ElementInitializers
-{
-
- /**
- * @generated
- */
- private AcoreElementTypes()
- {
- }
-
- /**
- * @generated
- */
- private static Map<IElementType, ENamedElement> elements;
-
- /**
- * @generated
- */
- private static ImageRegistry imageRegistry;
-
- /**
- * @generated
- */
- private static Set<IElementType> KNOWN_ELEMENT_TYPES;
-
- /**
- * @generated
- */
- public static final IElementType ACoreRoot_1000 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.ACoreRoot_1000"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AInterface_2001 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AInterface_2001"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AClass_2002 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClass_2002"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AAttribute_3001 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AOperation_3002 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AAttribute_3003 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3003"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AOperation_3004 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3004"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AClassSubClasses_4001 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassSubClasses_4001"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AClassImplementedInterfaces_4002 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassImplementedInterfaces_4002"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AClassAssociations_4003 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAssociations_4003"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AClassAggregations_4004 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAggregations_4004"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final IElementType AClassCompositions_4005 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassCompositions_4005"); //$NON-NLS-1$
-
- /**
- * @generated
- */
- private static ImageRegistry getImageRegistry()
- {
- if (imageRegistry == null)
- {
- imageRegistry = new ImageRegistry();
- }
- return imageRegistry;
- }
-
- /**
- * @generated
- */
- private static String getImageRegistryKey(ENamedElement element)
- {
- return element.getName();
- }
-
- /**
- * @generated
- */
- private static ImageDescriptor getProvidedImageDescriptor(ENamedElement element)
- {
- if (element instanceof EStructuralFeature)
- {
- EStructuralFeature feature = ((EStructuralFeature)element);
- EClass eContainingClass = feature.getEContainingClass();
- EClassifier eType = feature.getEType();
- if (eContainingClass != null && !eContainingClass.isAbstract())
- {
- element = eContainingClass;
- }
- else if (eType instanceof EClass && !((EClass)eType).isAbstract())
- {
- element = eType;
- }
- }
- if (element instanceof EClass)
- {
- EClass eClass = (EClass)element;
- if (!eClass.isAbstract())
- {
- return AcoreDiagramEditorPlugin.getInstance().getItemImageDescriptor(
- eClass.getEPackage().getEFactoryInstance().create(eClass));
- }
- }
- // TODO : support structural features
- return null;
- }
-
- /**
- * @generated
- */
- public static ImageDescriptor getImageDescriptor(ENamedElement element)
- {
- String key = getImageRegistryKey(element);
- ImageDescriptor imageDescriptor = getImageRegistry().getDescriptor(key);
- if (imageDescriptor == null)
- {
- imageDescriptor = getProvidedImageDescriptor(element);
- if (imageDescriptor == null)
- {
- imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
- }
- getImageRegistry().put(key, imageDescriptor);
- }
- return imageDescriptor;
- }
-
- /**
- * @generated
- */
- public static Image getImage(ENamedElement element)
- {
- String key = getImageRegistryKey(element);
- Image image = getImageRegistry().get(key);
- if (image == null)
- {
- ImageDescriptor imageDescriptor = getProvidedImageDescriptor(element);
- if (imageDescriptor == null)
- {
- imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
- }
- getImageRegistry().put(key, imageDescriptor);
- image = getImageRegistry().get(key);
- }
- return image;
- }
-
- /**
- * @generated
- */
- public static ImageDescriptor getImageDescriptor(IAdaptable hint)
- {
- ENamedElement element = getElement(hint);
- if (element == null)
- {
- return null;
- }
- return getImageDescriptor(element);
- }
-
- /**
- * @generated
- */
- public static Image getImage(IAdaptable hint)
- {
- ENamedElement element = getElement(hint);
- if (element == null)
- {
- return null;
- }
- return getImage(element);
- }
-
- /**
- * Returns 'type' of the ecore object associated with the hint.
- *
- * @generated
- */
- public static ENamedElement getElement(IAdaptable hint)
- {
- Object type = hint.getAdapter(IElementType.class);
- if (elements == null)
- {
- elements = new IdentityHashMap<IElementType, ENamedElement>();
-
- elements.put(ACoreRoot_1000, AcorePackage.eINSTANCE.getACoreRoot());
-
- elements.put(AInterface_2001, AcorePackage.eINSTANCE.getAInterface());
-
- elements.put(AClass_2002, AcorePackage.eINSTANCE.getAClass());
-
- elements.put(AAttribute_3001, AcorePackage.eINSTANCE.getAAttribute());
-
- elements.put(AOperation_3002, AcorePackage.eINSTANCE.getAOperation());
-
- elements.put(AAttribute_3003, AcorePackage.eINSTANCE.getAAttribute());
-
- elements.put(AOperation_3004, AcorePackage.eINSTANCE.getAOperation());
-
- elements.put(AClassSubClasses_4001, AcorePackage.eINSTANCE.getAClass_SubClasses());
-
- elements.put(AClassImplementedInterfaces_4002, AcorePackage.eINSTANCE.getAClass_ImplementedInterfaces());
-
- elements.put(AClassAssociations_4003, AcorePackage.eINSTANCE.getAClass_Associations());
-
- elements.put(AClassAggregations_4004, AcorePackage.eINSTANCE.getAClass_Aggregations());
-
- elements.put(AClassCompositions_4005, AcorePackage.eINSTANCE.getAClass_Compositions());
- }
- return (ENamedElement)elements.get(type);
- }
-
- /**
- * @generated
- */
- private static IElementType getElementType(String id)
- {
- return ElementTypeRegistry.getInstance().getType(id);
- }
-
- /**
- * @generated
- */
- public static boolean isKnownElementType(IElementType elementType)
- {
- if (KNOWN_ELEMENT_TYPES == null)
- {
- KNOWN_ELEMENT_TYPES = new HashSet<IElementType>();
- KNOWN_ELEMENT_TYPES.add(ACoreRoot_1000);
- KNOWN_ELEMENT_TYPES.add(AInterface_2001);
- KNOWN_ELEMENT_TYPES.add(AClass_2002);
- KNOWN_ELEMENT_TYPES.add(AAttribute_3001);
- KNOWN_ELEMENT_TYPES.add(AOperation_3002);
- KNOWN_ELEMENT_TYPES.add(AAttribute_3003);
- KNOWN_ELEMENT_TYPES.add(AOperation_3004);
- KNOWN_ELEMENT_TYPES.add(AClassSubClasses_4001);
- KNOWN_ELEMENT_TYPES.add(AClassImplementedInterfaces_4002);
- KNOWN_ELEMENT_TYPES.add(AClassAssociations_4003);
- KNOWN_ELEMENT_TYPES.add(AClassAggregations_4004);
- KNOWN_ELEMENT_TYPES.add(AClassCompositions_4005);
- }
- return KNOWN_ELEMENT_TYPES.contains(elementType);
- }
-
- /**
- * @generated
- */
- public static IElementType getElementType(int visualID)
- {
- switch (visualID)
- {
- case ACoreRootEditPart.VISUAL_ID:
- return ACoreRoot_1000;
- case AInterfaceEditPart.VISUAL_ID:
- return AInterface_2001;
- case AClassEditPart.VISUAL_ID:
- return AClass_2002;
- case AAttributeEditPart.VISUAL_ID:
- return AAttribute_3001;
- case AOperationEditPart.VISUAL_ID:
- return AOperation_3002;
- case AAttribute2EditPart.VISUAL_ID:
- return AAttribute_3003;
- case AOperation2EditPart.VISUAL_ID:
- return AOperation_3004;
- case AClassSubClassesEditPart.VISUAL_ID:
- return AClassSubClasses_4001;
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return AClassImplementedInterfaces_4002;
- case AClassAssociationsEditPart.VISUAL_ID:
- return AClassAssociations_4003;
- case AClassAggregationsEditPart.VISUAL_ID:
- return AClassAggregations_4004;
- case AClassCompositionsEditPart.VISUAL_ID:
- return AClassCompositions_4005;
- }
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+
+import java.util.HashSet;
+import java.util.IdentityHashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @generated
+ */
+public class AcoreElementTypes extends ElementInitializers
+{
+
+ /**
+ * @generated
+ */
+ private AcoreElementTypes()
+ {
+ }
+
+ /**
+ * @generated
+ */
+ private static Map<IElementType, ENamedElement> elements;
+
+ /**
+ * @generated
+ */
+ private static ImageRegistry imageRegistry;
+
+ /**
+ * @generated
+ */
+ private static Set<IElementType> KNOWN_ELEMENT_TYPES;
+
+ /**
+ * @generated
+ */
+ public static final IElementType ACoreRoot_1000 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.ACoreRoot_1000"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AInterface_2001 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AInterface_2001"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AClass_2002 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClass_2002"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AAttribute_3001 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3001"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AOperation_3002 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3002"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AAttribute_3003 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AAttribute_3003"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AOperation_3004 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AOperation_3004"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AClassSubClasses_4001 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassSubClasses_4001"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AClassImplementedInterfaces_4002 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassImplementedInterfaces_4002"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AClassAssociations_4003 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAssociations_4003"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AClassAggregations_4004 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassAggregations_4004"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ public static final IElementType AClassCompositions_4005 = getElementType("org.eclipse.emf.cdo.dawn.examples.acore.diagram.AClassCompositions_4005"); //$NON-NLS-1$
+
+ /**
+ * @generated
+ */
+ private static ImageRegistry getImageRegistry()
+ {
+ if (imageRegistry == null)
+ {
+ imageRegistry = new ImageRegistry();
+ }
+ return imageRegistry;
+ }
+
+ /**
+ * @generated
+ */
+ private static String getImageRegistryKey(ENamedElement element)
+ {
+ return element.getName();
+ }
+
+ /**
+ * @generated
+ */
+ private static ImageDescriptor getProvidedImageDescriptor(ENamedElement element)
+ {
+ if (element instanceof EStructuralFeature)
+ {
+ EStructuralFeature feature = ((EStructuralFeature)element);
+ EClass eContainingClass = feature.getEContainingClass();
+ EClassifier eType = feature.getEType();
+ if (eContainingClass != null && !eContainingClass.isAbstract())
+ {
+ element = eContainingClass;
+ }
+ else if (eType instanceof EClass && !((EClass)eType).isAbstract())
+ {
+ element = eType;
+ }
+ }
+ if (element instanceof EClass)
+ {
+ EClass eClass = (EClass)element;
+ if (!eClass.isAbstract())
+ {
+ return AcoreDiagramEditorPlugin.getInstance().getItemImageDescriptor(
+ eClass.getEPackage().getEFactoryInstance().create(eClass));
+ }
+ }
+ // TODO : support structural features
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public static ImageDescriptor getImageDescriptor(ENamedElement element)
+ {
+ String key = getImageRegistryKey(element);
+ ImageDescriptor imageDescriptor = getImageRegistry().getDescriptor(key);
+ if (imageDescriptor == null)
+ {
+ imageDescriptor = getProvidedImageDescriptor(element);
+ if (imageDescriptor == null)
+ {
+ imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
+ }
+ getImageRegistry().put(key, imageDescriptor);
+ }
+ return imageDescriptor;
+ }
+
+ /**
+ * @generated
+ */
+ public static Image getImage(ENamedElement element)
+ {
+ String key = getImageRegistryKey(element);
+ Image image = getImageRegistry().get(key);
+ if (image == null)
+ {
+ ImageDescriptor imageDescriptor = getProvidedImageDescriptor(element);
+ if (imageDescriptor == null)
+ {
+ imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
+ }
+ getImageRegistry().put(key, imageDescriptor);
+ image = getImageRegistry().get(key);
+ }
+ return image;
+ }
+
+ /**
+ * @generated
+ */
+ public static ImageDescriptor getImageDescriptor(IAdaptable hint)
+ {
+ ENamedElement element = getElement(hint);
+ if (element == null)
+ {
+ return null;
+ }
+ return getImageDescriptor(element);
+ }
+
+ /**
+ * @generated
+ */
+ public static Image getImage(IAdaptable hint)
+ {
+ ENamedElement element = getElement(hint);
+ if (element == null)
+ {
+ return null;
+ }
+ return getImage(element);
+ }
+
+ /**
+ * Returns 'type' of the ecore object associated with the hint.
+ *
+ * @generated
+ */
+ public static ENamedElement getElement(IAdaptable hint)
+ {
+ Object type = hint.getAdapter(IElementType.class);
+ if (elements == null)
+ {
+ elements = new IdentityHashMap<IElementType, ENamedElement>();
+
+ elements.put(ACoreRoot_1000, AcorePackage.eINSTANCE.getACoreRoot());
+
+ elements.put(AInterface_2001, AcorePackage.eINSTANCE.getAInterface());
+
+ elements.put(AClass_2002, AcorePackage.eINSTANCE.getAClass());
+
+ elements.put(AAttribute_3001, AcorePackage.eINSTANCE.getAAttribute());
+
+ elements.put(AOperation_3002, AcorePackage.eINSTANCE.getAOperation());
+
+ elements.put(AAttribute_3003, AcorePackage.eINSTANCE.getAAttribute());
+
+ elements.put(AOperation_3004, AcorePackage.eINSTANCE.getAOperation());
+
+ elements.put(AClassSubClasses_4001, AcorePackage.eINSTANCE.getAClass_SubClasses());
+
+ elements.put(AClassImplementedInterfaces_4002, AcorePackage.eINSTANCE.getAClass_ImplementedInterfaces());
+
+ elements.put(AClassAssociations_4003, AcorePackage.eINSTANCE.getAClass_Associations());
+
+ elements.put(AClassAggregations_4004, AcorePackage.eINSTANCE.getAClass_Aggregations());
+
+ elements.put(AClassCompositions_4005, AcorePackage.eINSTANCE.getAClass_Compositions());
+ }
+ return (ENamedElement)elements.get(type);
+ }
+
+ /**
+ * @generated
+ */
+ private static IElementType getElementType(String id)
+ {
+ return ElementTypeRegistry.getInstance().getType(id);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean isKnownElementType(IElementType elementType)
+ {
+ if (KNOWN_ELEMENT_TYPES == null)
+ {
+ KNOWN_ELEMENT_TYPES = new HashSet<IElementType>();
+ KNOWN_ELEMENT_TYPES.add(ACoreRoot_1000);
+ KNOWN_ELEMENT_TYPES.add(AInterface_2001);
+ KNOWN_ELEMENT_TYPES.add(AClass_2002);
+ KNOWN_ELEMENT_TYPES.add(AAttribute_3001);
+ KNOWN_ELEMENT_TYPES.add(AOperation_3002);
+ KNOWN_ELEMENT_TYPES.add(AAttribute_3003);
+ KNOWN_ELEMENT_TYPES.add(AOperation_3004);
+ KNOWN_ELEMENT_TYPES.add(AClassSubClasses_4001);
+ KNOWN_ELEMENT_TYPES.add(AClassImplementedInterfaces_4002);
+ KNOWN_ELEMENT_TYPES.add(AClassAssociations_4003);
+ KNOWN_ELEMENT_TYPES.add(AClassAggregations_4004);
+ KNOWN_ELEMENT_TYPES.add(AClassCompositions_4005);
+ }
+ return KNOWN_ELEMENT_TYPES.contains(elementType);
+ }
+
+ /**
+ * @generated
+ */
+ public static IElementType getElementType(int visualID)
+ {
+ switch (visualID)
+ {
+ case ACoreRootEditPart.VISUAL_ID:
+ return ACoreRoot_1000;
+ case AInterfaceEditPart.VISUAL_ID:
+ return AInterface_2001;
+ case AClassEditPart.VISUAL_ID:
+ return AClass_2002;
+ case AAttributeEditPart.VISUAL_ID:
+ return AAttribute_3001;
+ case AOperationEditPart.VISUAL_ID:
+ return AOperation_3002;
+ case AAttribute2EditPart.VISUAL_ID:
+ return AAttribute_3003;
+ case AOperation2EditPart.VISUAL_ID:
+ return AOperation_3004;
+ case AClassSubClassesEditPart.VISUAL_ID:
+ return AClassSubClasses_4001;
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return AClassImplementedInterfaces_4002;
+ case AClassAssociationsEditPart.VISUAL_ID:
+ return AClassAssociations_4003;
+ case AClassAggregationsEditPart.VISUAL_ID:
+ return AClassAggregations_4004;
+ case AClassCompositionsEditPart.VISUAL_ID:
+ return AClassCompositions_4005;
+ }
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreIconProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreIconProvider.java
index dd685ab9bb..abb3de9522 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreIconProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreIconProvider.java
@@ -1,46 +1,46 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.common.ui.services.icon.GetIconOperation;
-import org.eclipse.gmf.runtime.common.ui.services.icon.IIconProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @generated
- */
-public class AcoreIconProvider extends AbstractProvider implements IIconProvider
-{
-
- /**
- * @generated
- */
- public Image getIcon(IAdaptable hint, int flags)
- {
- return AcoreElementTypes.getImage(hint);
- }
-
- /**
- * @generated
- */
- public boolean provides(IOperation operation)
- {
- if (operation instanceof GetIconOperation)
- {
- return ((GetIconOperation)operation).execute(this) != null;
- }
- return false;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.ui.services.icon.GetIconOperation;
+import org.eclipse.gmf.runtime.common.ui.services.icon.IIconProvider;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * @generated
+ */
+public class AcoreIconProvider extends AbstractProvider implements IIconProvider
+{
+
+ /**
+ * @generated
+ */
+ public Image getIcon(IAdaptable hint, int flags)
+ {
+ return AcoreElementTypes.getImage(hint);
+ }
+
+ /**
+ * @generated
+ */
+ public boolean provides(IOperation operation)
+ {
+ if (operation instanceof GetIconOperation)
+ {
+ return ((GetIconOperation)operation).execute(this) != null;
+ }
+ return false;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreModelingAssistantProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreModelingAssistantProvider.java
index 42f8f530a8..a885d6b1be 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreModelingAssistantProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreModelingAssistantProvider.java
@@ -1,228 +1,228 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.ModelingAssistantProvider;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @generated
- */
-public class AcoreModelingAssistantProvider extends ModelingAssistantProvider
-{
-
- /**
- * @generated
- */
- public List getTypesForPopupBar(IAdaptable host)
- {
- IGraphicalEditPart editPart = (IGraphicalEditPart)host.getAdapter(IGraphicalEditPart.class);
- if (editPart instanceof ACoreRootEditPart)
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(2);
- types.add(AcoreElementTypes.AInterface_2001);
- types.add(AcoreElementTypes.AClass_2002);
- return types;
- }
- if (editPart instanceof AInterfaceEditPart)
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(2);
- types.add(AcoreElementTypes.AAttribute_3001);
- types.add(AcoreElementTypes.AOperation_3002);
- return types;
- }
- if (editPart instanceof AClassEditPart)
- {
- ArrayList<IElementType> types = new ArrayList<IElementType>(2);
- types.add(AcoreElementTypes.AAttribute_3003);
- types.add(AcoreElementTypes.AOperation_3004);
- return types;
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public List getRelTypesOnSource(IAdaptable source)
- {
- IGraphicalEditPart sourceEditPart = (IGraphicalEditPart)source.getAdapter(IGraphicalEditPart.class);
- if (sourceEditPart instanceof AClassEditPart)
- {
- return ((AClassEditPart)sourceEditPart).getMARelTypesOnSource();
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public List getRelTypesOnTarget(IAdaptable target)
- {
- IGraphicalEditPart targetEditPart = (IGraphicalEditPart)target.getAdapter(IGraphicalEditPart.class);
- if (targetEditPart instanceof AInterfaceEditPart)
- {
- return ((AInterfaceEditPart)targetEditPart).getMARelTypesOnTarget();
- }
- if (targetEditPart instanceof AClassEditPart)
- {
- return ((AClassEditPart)targetEditPart).getMARelTypesOnTarget();
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public List getRelTypesOnSourceAndTarget(IAdaptable source, IAdaptable target)
- {
- IGraphicalEditPart sourceEditPart = (IGraphicalEditPart)source.getAdapter(IGraphicalEditPart.class);
- IGraphicalEditPart targetEditPart = (IGraphicalEditPart)target.getAdapter(IGraphicalEditPart.class);
- if (sourceEditPart instanceof AClassEditPart)
- {
- return ((AClassEditPart)sourceEditPart).getMARelTypesOnSourceAndTarget(targetEditPart);
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public List getTypesForSource(IAdaptable target, IElementType relationshipType)
- {
- IGraphicalEditPart targetEditPart = (IGraphicalEditPart)target.getAdapter(IGraphicalEditPart.class);
- if (targetEditPart instanceof AInterfaceEditPart)
- {
- return ((AInterfaceEditPart)targetEditPart).getMATypesForSource(relationshipType);
- }
- if (targetEditPart instanceof AClassEditPart)
- {
- return ((AClassEditPart)targetEditPart).getMATypesForSource(relationshipType);
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public List getTypesForTarget(IAdaptable source, IElementType relationshipType)
- {
- IGraphicalEditPart sourceEditPart = (IGraphicalEditPart)source.getAdapter(IGraphicalEditPart.class);
- if (sourceEditPart instanceof AClassEditPart)
- {
- return ((AClassEditPart)sourceEditPart).getMATypesForTarget(relationshipType);
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * @generated
- */
- public EObject selectExistingElementForSource(IAdaptable target, IElementType relationshipType)
- {
- return selectExistingElement(target, getTypesForSource(target, relationshipType));
- }
-
- /**
- * @generated
- */
- public EObject selectExistingElementForTarget(IAdaptable source, IElementType relationshipType)
- {
- return selectExistingElement(source, getTypesForTarget(source, relationshipType));
- }
-
- /**
- * @generated
- */
- protected EObject selectExistingElement(IAdaptable host, Collection types)
- {
- if (types.isEmpty())
- {
- return null;
- }
- IGraphicalEditPart editPart = (IGraphicalEditPart)host.getAdapter(IGraphicalEditPart.class);
- if (editPart == null)
- {
- return null;
- }
- Diagram diagram = (Diagram)editPart.getRoot().getContents().getModel();
- HashSet<EObject> elements = new HashSet<EObject>();
- for (Iterator<EObject> it = diagram.getElement().eAllContents(); it.hasNext();)
- {
- EObject element = it.next();
- if (isApplicableElement(element, types))
- {
- elements.add(element);
- }
- }
- if (elements.isEmpty())
- {
- return null;
- }
- return selectElement((EObject[])elements.toArray(new EObject[elements.size()]));
- }
-
- /**
- * @generated
- */
- protected boolean isApplicableElement(EObject element, Collection types)
- {
- IElementType type = ElementTypeRegistry.getInstance().getElementType(element);
- return types.contains(type);
- }
-
- /**
- * @generated
- */
- protected EObject selectElement(EObject[] elements)
- {
- Shell shell = Display.getCurrent().getActiveShell();
- ILabelProvider labelProvider = new AdapterFactoryLabelProvider(AcoreDiagramEditorPlugin.getInstance()
- .getItemProvidersAdapterFactory());
- ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, labelProvider);
- dialog.setMessage(Messages.AcoreModelingAssistantProviderMessage);
- dialog.setTitle(Messages.AcoreModelingAssistantProviderTitle);
- dialog.setMultipleSelection(false);
- dialog.setElements(elements);
- EObject selected = null;
- if (dialog.open() == Window.OK)
- {
- selected = (EObject)dialog.getFirstResult();
- }
- return selected;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.Messages;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.ModelingAssistantProvider;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.dialogs.ElementListSelectionDialog;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @generated
+ */
+public class AcoreModelingAssistantProvider extends ModelingAssistantProvider
+{
+
+ /**
+ * @generated
+ */
+ public List getTypesForPopupBar(IAdaptable host)
+ {
+ IGraphicalEditPart editPart = (IGraphicalEditPart)host.getAdapter(IGraphicalEditPart.class);
+ if (editPart instanceof ACoreRootEditPart)
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
+ types.add(AcoreElementTypes.AInterface_2001);
+ types.add(AcoreElementTypes.AClass_2002);
+ return types;
+ }
+ if (editPart instanceof AInterfaceEditPart)
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
+ types.add(AcoreElementTypes.AAttribute_3001);
+ types.add(AcoreElementTypes.AOperation_3002);
+ return types;
+ }
+ if (editPart instanceof AClassEditPart)
+ {
+ ArrayList<IElementType> types = new ArrayList<IElementType>(2);
+ types.add(AcoreElementTypes.AAttribute_3003);
+ types.add(AcoreElementTypes.AOperation_3004);
+ return types;
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public List getRelTypesOnSource(IAdaptable source)
+ {
+ IGraphicalEditPart sourceEditPart = (IGraphicalEditPart)source.getAdapter(IGraphicalEditPart.class);
+ if (sourceEditPart instanceof AClassEditPart)
+ {
+ return ((AClassEditPart)sourceEditPart).getMARelTypesOnSource();
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public List getRelTypesOnTarget(IAdaptable target)
+ {
+ IGraphicalEditPart targetEditPart = (IGraphicalEditPart)target.getAdapter(IGraphicalEditPart.class);
+ if (targetEditPart instanceof AInterfaceEditPart)
+ {
+ return ((AInterfaceEditPart)targetEditPart).getMARelTypesOnTarget();
+ }
+ if (targetEditPart instanceof AClassEditPart)
+ {
+ return ((AClassEditPart)targetEditPart).getMARelTypesOnTarget();
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public List getRelTypesOnSourceAndTarget(IAdaptable source, IAdaptable target)
+ {
+ IGraphicalEditPart sourceEditPart = (IGraphicalEditPart)source.getAdapter(IGraphicalEditPart.class);
+ IGraphicalEditPart targetEditPart = (IGraphicalEditPart)target.getAdapter(IGraphicalEditPart.class);
+ if (sourceEditPart instanceof AClassEditPart)
+ {
+ return ((AClassEditPart)sourceEditPart).getMARelTypesOnSourceAndTarget(targetEditPart);
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public List getTypesForSource(IAdaptable target, IElementType relationshipType)
+ {
+ IGraphicalEditPart targetEditPart = (IGraphicalEditPart)target.getAdapter(IGraphicalEditPart.class);
+ if (targetEditPart instanceof AInterfaceEditPart)
+ {
+ return ((AInterfaceEditPart)targetEditPart).getMATypesForSource(relationshipType);
+ }
+ if (targetEditPart instanceof AClassEditPart)
+ {
+ return ((AClassEditPart)targetEditPart).getMATypesForSource(relationshipType);
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public List getTypesForTarget(IAdaptable source, IElementType relationshipType)
+ {
+ IGraphicalEditPart sourceEditPart = (IGraphicalEditPart)source.getAdapter(IGraphicalEditPart.class);
+ if (sourceEditPart instanceof AClassEditPart)
+ {
+ return ((AClassEditPart)sourceEditPart).getMATypesForTarget(relationshipType);
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ /**
+ * @generated
+ */
+ public EObject selectExistingElementForSource(IAdaptable target, IElementType relationshipType)
+ {
+ return selectExistingElement(target, getTypesForSource(target, relationshipType));
+ }
+
+ /**
+ * @generated
+ */
+ public EObject selectExistingElementForTarget(IAdaptable source, IElementType relationshipType)
+ {
+ return selectExistingElement(source, getTypesForTarget(source, relationshipType));
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject selectExistingElement(IAdaptable host, Collection types)
+ {
+ if (types.isEmpty())
+ {
+ return null;
+ }
+ IGraphicalEditPart editPart = (IGraphicalEditPart)host.getAdapter(IGraphicalEditPart.class);
+ if (editPart == null)
+ {
+ return null;
+ }
+ Diagram diagram = (Diagram)editPart.getRoot().getContents().getModel();
+ HashSet<EObject> elements = new HashSet<EObject>();
+ for (Iterator<EObject> it = diagram.getElement().eAllContents(); it.hasNext();)
+ {
+ EObject element = it.next();
+ if (isApplicableElement(element, types))
+ {
+ elements.add(element);
+ }
+ }
+ if (elements.isEmpty())
+ {
+ return null;
+ }
+ return selectElement((EObject[])elements.toArray(new EObject[elements.size()]));
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean isApplicableElement(EObject element, Collection types)
+ {
+ IElementType type = ElementTypeRegistry.getInstance().getElementType(element);
+ return types.contains(type);
+ }
+
+ /**
+ * @generated
+ */
+ protected EObject selectElement(EObject[] elements)
+ {
+ Shell shell = Display.getCurrent().getActiveShell();
+ ILabelProvider labelProvider = new AdapterFactoryLabelProvider(AcoreDiagramEditorPlugin.getInstance()
+ .getItemProvidersAdapterFactory());
+ ElementListSelectionDialog dialog = new ElementListSelectionDialog(shell, labelProvider);
+ dialog.setMessage(Messages.AcoreModelingAssistantProviderMessage);
+ dialog.setTitle(Messages.AcoreModelingAssistantProviderTitle);
+ dialog.setMultipleSelection(false);
+ dialog.setElements(elements);
+ EObject selected = null;
+ if (dialog.open() == Window.OK)
+ {
+ selected = (EObject)dialog.getFirstResult();
+ }
+ return selected;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreParserProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreParserProvider.java
index 434eeff97c..196859d59e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreParserProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreParserProvider.java
@@ -1,276 +1,276 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers.MessageFormatParser;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
-import org.eclipse.gmf.runtime.common.ui.services.parser.ParserService;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * @generated
- */
-public class AcoreParserProvider extends AbstractProvider implements IParserProvider
-{
-
- /**
- * @generated
- */
- private IParser aInterfaceName_5001Parser;
-
- /**
- * @generated
- */
- private IParser getAInterfaceName_5001Parser()
- {
- if (aInterfaceName_5001Parser == null)
- {
- EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getABasicClass_Name() };
- MessageFormatParser parser = new MessageFormatParser(features);
- aInterfaceName_5001Parser = parser;
- }
- return aInterfaceName_5001Parser;
- }
-
- /**
- * @generated
- */
- private IParser aClassName_5002Parser;
-
- /**
- * @generated
- */
- private IParser getAClassName_5002Parser()
- {
- if (aClassName_5002Parser == null)
- {
- EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getABasicClass_Name() };
- MessageFormatParser parser = new MessageFormatParser(features);
- aClassName_5002Parser = parser;
- }
- return aClassName_5002Parser;
- }
-
- /**
- * @generated
- */
- private IParser aAttribute_3001Parser;
-
- /**
- * @generated
- */
- private IParser getAAttribute_3001Parser()
- {
- if (aAttribute_3001Parser == null)
- {
- EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
- AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
- MessageFormatParser parser = new MessageFormatParser(features);
- parser.setViewPattern("{0} {2}:{1}"); //$NON-NLS-1$
- parser.setEditorPattern("{0} {2}:{1}"); //$NON-NLS-1$
- parser.setEditPattern("{0} {2}:{1}"); //$NON-NLS-1$
- aAttribute_3001Parser = parser;
- }
- return aAttribute_3001Parser;
- }
-
- /**
- * @generated
- */
- private IParser aOperation_3002Parser;
-
- /**
- * @generated
- */
- private IParser getAOperation_3002Parser()
- {
- if (aOperation_3002Parser == null)
- {
- EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
- AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
- MessageFormatParser parser = new MessageFormatParser(features);
- parser.setViewPattern("{0} {2}():{1}"); //$NON-NLS-1$
- parser.setEditorPattern("{0} {2}():{1}"); //$NON-NLS-1$
- parser.setEditPattern("{0} {2}():{1}"); //$NON-NLS-1$
- aOperation_3002Parser = parser;
- }
- return aOperation_3002Parser;
- }
-
- /**
- * @generated
- */
- private IParser aAttribute_3003Parser;
-
- /**
- * @generated
- */
- private IParser getAAttribute_3003Parser()
- {
- if (aAttribute_3003Parser == null)
- {
- EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
- AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
- MessageFormatParser parser = new MessageFormatParser(features);
- parser.setViewPattern("{0} {2}:{1}"); //$NON-NLS-1$
- parser.setEditorPattern("{0} {2}:{1}"); //$NON-NLS-1$
- parser.setEditPattern("{0} {2}:{1}"); //$NON-NLS-1$
- aAttribute_3003Parser = parser;
- }
- return aAttribute_3003Parser;
- }
-
- /**
- * @generated
- */
- private IParser aOperation_3004Parser;
-
- /**
- * @generated
- */
- private IParser getAOperation_3004Parser()
- {
- if (aOperation_3004Parser == null)
- {
- EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
- AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
- MessageFormatParser parser = new MessageFormatParser(features);
- parser.setViewPattern("{0} {2}():{1}"); //$NON-NLS-1$
- parser.setEditorPattern("{0} {2}():{1}"); //$NON-NLS-1$
- parser.setEditPattern("{0} {2}():{1}"); //$NON-NLS-1$
- aOperation_3004Parser = parser;
- }
- return aOperation_3004Parser;
- }
-
- /**
- * @generated
- */
- protected IParser getParser(int visualID)
- {
- switch (visualID)
- {
- case AInterfaceNameEditPart.VISUAL_ID:
- return getAInterfaceName_5001Parser();
- case AClassNameEditPart.VISUAL_ID:
- return getAClassName_5002Parser();
- case AAttributeEditPart.VISUAL_ID:
- return getAAttribute_3001Parser();
- case AOperationEditPart.VISUAL_ID:
- return getAOperation_3002Parser();
- case AAttribute2EditPart.VISUAL_ID:
- return getAAttribute_3003Parser();
- case AOperation2EditPart.VISUAL_ID:
- return getAOperation_3004Parser();
- }
- return null;
- }
-
- /**
- * Utility method that consults ParserService
- *
- * @generated
- */
- public static IParser getParser(IElementType type, EObject object, String parserHint)
- {
- return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint));
- }
-
- /**
- * @generated
- */
- public IParser getParser(IAdaptable hint)
- {
- String vid = (String)hint.getAdapter(String.class);
- if (vid != null)
- {
- return getParser(AcoreVisualIDRegistry.getVisualID(vid));
- }
- View view = (View)hint.getAdapter(View.class);
- if (view != null)
- {
- return getParser(AcoreVisualIDRegistry.getVisualID(view));
- }
- return null;
- }
-
- /**
- * @generated
- */
- public boolean provides(IOperation operation)
- {
- if (operation instanceof GetParserOperation)
- {
- IAdaptable hint = ((GetParserOperation)operation).getHint();
- if (AcoreElementTypes.getElement(hint) == null)
- {
- return false;
- }
- return getParser(hint) != null;
- }
- return false;
- }
-
- /**
- * @generated
- */
- private static class HintAdapter extends ParserHintAdapter
- {
-
- /**
- * @generated
- */
- private final IElementType elementType;
-
- /**
- * @generated
- */
- public HintAdapter(IElementType type, EObject object, String parserHint)
- {
- super(object, parserHint);
- assert type != null;
- elementType = type;
- }
-
- /**
- * @generated
- */
- public Object getAdapter(Class adapter)
- {
- if (IElementType.class.equals(adapter))
- {
- return elementType;
- }
- return super.getAdapter(adapter);
- }
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.parsers.MessageFormatParser;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
+import org.eclipse.gmf.runtime.common.ui.services.parser.IParserProvider;
+import org.eclipse.gmf.runtime.common.ui.services.parser.ParserService;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.ui.services.parser.ParserHintAdapter;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * @generated
+ */
+public class AcoreParserProvider extends AbstractProvider implements IParserProvider
+{
+
+ /**
+ * @generated
+ */
+ private IParser aInterfaceName_5001Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getAInterfaceName_5001Parser()
+ {
+ if (aInterfaceName_5001Parser == null)
+ {
+ EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getABasicClass_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ aInterfaceName_5001Parser = parser;
+ }
+ return aInterfaceName_5001Parser;
+ }
+
+ /**
+ * @generated
+ */
+ private IParser aClassName_5002Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getAClassName_5002Parser()
+ {
+ if (aClassName_5002Parser == null)
+ {
+ EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getABasicClass_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ aClassName_5002Parser = parser;
+ }
+ return aClassName_5002Parser;
+ }
+
+ /**
+ * @generated
+ */
+ private IParser aAttribute_3001Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getAAttribute_3001Parser()
+ {
+ if (aAttribute_3001Parser == null)
+ {
+ EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
+ AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ parser.setViewPattern("{0} {2}:{1}"); //$NON-NLS-1$
+ parser.setEditorPattern("{0} {2}:{1}"); //$NON-NLS-1$
+ parser.setEditPattern("{0} {2}:{1}"); //$NON-NLS-1$
+ aAttribute_3001Parser = parser;
+ }
+ return aAttribute_3001Parser;
+ }
+
+ /**
+ * @generated
+ */
+ private IParser aOperation_3002Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getAOperation_3002Parser()
+ {
+ if (aOperation_3002Parser == null)
+ {
+ EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
+ AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ parser.setViewPattern("{0} {2}():{1}"); //$NON-NLS-1$
+ parser.setEditorPattern("{0} {2}():{1}"); //$NON-NLS-1$
+ parser.setEditPattern("{0} {2}():{1}"); //$NON-NLS-1$
+ aOperation_3002Parser = parser;
+ }
+ return aOperation_3002Parser;
+ }
+
+ /**
+ * @generated
+ */
+ private IParser aAttribute_3003Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getAAttribute_3003Parser()
+ {
+ if (aAttribute_3003Parser == null)
+ {
+ EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
+ AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ parser.setViewPattern("{0} {2}:{1}"); //$NON-NLS-1$
+ parser.setEditorPattern("{0} {2}:{1}"); //$NON-NLS-1$
+ parser.setEditPattern("{0} {2}:{1}"); //$NON-NLS-1$
+ aAttribute_3003Parser = parser;
+ }
+ return aAttribute_3003Parser;
+ }
+
+ /**
+ * @generated
+ */
+ private IParser aOperation_3004Parser;
+
+ /**
+ * @generated
+ */
+ private IParser getAOperation_3004Parser()
+ {
+ if (aOperation_3004Parser == null)
+ {
+ EAttribute[] features = new EAttribute[] { AcorePackage.eINSTANCE.getAClassChild_Accessright(),
+ AcorePackage.eINSTANCE.getAClassChild_DataType(), AcorePackage.eINSTANCE.getAClassChild_Name() };
+ MessageFormatParser parser = new MessageFormatParser(features);
+ parser.setViewPattern("{0} {2}():{1}"); //$NON-NLS-1$
+ parser.setEditorPattern("{0} {2}():{1}"); //$NON-NLS-1$
+ parser.setEditPattern("{0} {2}():{1}"); //$NON-NLS-1$
+ aOperation_3004Parser = parser;
+ }
+ return aOperation_3004Parser;
+ }
+
+ /**
+ * @generated
+ */
+ protected IParser getParser(int visualID)
+ {
+ switch (visualID)
+ {
+ case AInterfaceNameEditPart.VISUAL_ID:
+ return getAInterfaceName_5001Parser();
+ case AClassNameEditPart.VISUAL_ID:
+ return getAClassName_5002Parser();
+ case AAttributeEditPart.VISUAL_ID:
+ return getAAttribute_3001Parser();
+ case AOperationEditPart.VISUAL_ID:
+ return getAOperation_3002Parser();
+ case AAttribute2EditPart.VISUAL_ID:
+ return getAAttribute_3003Parser();
+ case AOperation2EditPart.VISUAL_ID:
+ return getAOperation_3004Parser();
+ }
+ return null;
+ }
+
+ /**
+ * Utility method that consults ParserService
+ *
+ * @generated
+ */
+ public static IParser getParser(IElementType type, EObject object, String parserHint)
+ {
+ return ParserService.getInstance().getParser(new HintAdapter(type, object, parserHint));
+ }
+
+ /**
+ * @generated
+ */
+ public IParser getParser(IAdaptable hint)
+ {
+ String vid = (String)hint.getAdapter(String.class);
+ if (vid != null)
+ {
+ return getParser(AcoreVisualIDRegistry.getVisualID(vid));
+ }
+ View view = (View)hint.getAdapter(View.class);
+ if (view != null)
+ {
+ return getParser(AcoreVisualIDRegistry.getVisualID(view));
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public boolean provides(IOperation operation)
+ {
+ if (operation instanceof GetParserOperation)
+ {
+ IAdaptable hint = ((GetParserOperation)operation).getHint();
+ if (AcoreElementTypes.getElement(hint) == null)
+ {
+ return false;
+ }
+ return getParser(hint) != null;
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ private static class HintAdapter extends ParserHintAdapter
+ {
+
+ /**
+ * @generated
+ */
+ private final IElementType elementType;
+
+ /**
+ * @generated
+ */
+ public HintAdapter(IElementType type, EObject object, String parserHint)
+ {
+ super(object, parserHint);
+ assert type != null;
+ elementType = type;
+ }
+
+ /**
+ * @generated
+ */
+ public Object getAdapter(Class adapter)
+ {
+ if (IElementType.class.equals(adapter))
+ {
+ return elementType;
+ }
+ return super.getAdapter(adapter);
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreViewProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreViewProvider.java
index 33ea361454..200243490d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreViewProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/AcoreViewProvider.java
@@ -1,749 +1,749 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
-import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
-import org.eclipse.gmf.runtime.diagram.core.services.view.CreateDiagramViewOperation;
-import org.eclipse.gmf.runtime.diagram.core.services.view.CreateEdgeViewOperation;
-import org.eclipse.gmf.runtime.diagram.core.services.view.CreateNodeViewOperation;
-import org.eclipse.gmf.runtime.diagram.core.services.view.CreateViewForKindOperation;
-import org.eclipse.gmf.runtime.diagram.core.services.view.CreateViewOperation;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
-import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
-import org.eclipse.gmf.runtime.notation.Connector;
-import org.eclipse.gmf.runtime.notation.DecorationNode;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.MeasurementUnit;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationFactory;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
-import org.eclipse.gmf.runtime.notation.Routing;
-import org.eclipse.gmf.runtime.notation.TitleStyle;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-
-import java.util.ArrayList;
-
-/**
- * @generated
- */
-public class AcoreViewProvider extends AbstractProvider implements IViewProvider
-{
-
- /**
- * @generated
- */
- public final boolean provides(IOperation operation)
- {
- if (operation instanceof CreateViewForKindOperation)
- {
- return provides((CreateViewForKindOperation)operation);
- }
- assert operation instanceof CreateViewOperation;
- if (operation instanceof CreateDiagramViewOperation)
- {
- return provides((CreateDiagramViewOperation)operation);
- }
- else if (operation instanceof CreateEdgeViewOperation)
- {
- return provides((CreateEdgeViewOperation)operation);
- }
- else if (operation instanceof CreateNodeViewOperation)
- {
- return provides((CreateNodeViewOperation)operation);
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean provides(CreateViewForKindOperation op)
- {
- /*
- * if (op.getViewKind() == Node.class) return getNodeViewClass(op.getSemanticAdapter(), op.getContainerView(),
- * op.getSemanticHint()) != null; if (op.getViewKind() == Edge.class) return
- * getEdgeViewClass(op.getSemanticAdapter(), op.getContainerView(), op.getSemanticHint()) != null;
- */
- return true;
- }
-
- /**
- * @generated
- */
- protected boolean provides(CreateDiagramViewOperation op)
- {
- return ACoreRootEditPart.MODEL_ID.equals(op.getSemanticHint())
- && AcoreVisualIDRegistry.getDiagramVisualID(getSemanticElement(op.getSemanticAdapter())) != -1;
- }
-
- /**
- * @generated
- */
- protected boolean provides(CreateNodeViewOperation op)
- {
- if (op.getContainerView() == null)
- {
- return false;
- }
- IElementType elementType = getSemanticElementType(op.getSemanticAdapter());
- EObject domainElement = getSemanticElement(op.getSemanticAdapter());
- int visualID;
- if (op.getSemanticHint() == null)
- {
- // Semantic hint is not specified. Can be a result of call from CanonicalEditPolicy.
- // In this situation there should be NO elementType, visualID will be determined
- // by VisualIDRegistry.getNodeVisualID() for domainElement.
- if (elementType != null || domainElement == null)
- {
- return false;
- }
- visualID = AcoreVisualIDRegistry.getNodeVisualID(op.getContainerView(), domainElement);
- }
- else
- {
- visualID = AcoreVisualIDRegistry.getVisualID(op.getSemanticHint());
- if (elementType != null)
- {
- if (!AcoreElementTypes.isKnownElementType(elementType) || (!(elementType instanceof IHintedType)))
- {
- return false; // foreign element type
- }
- String elementTypeHint = ((IHintedType)elementType).getSemanticHint();
- if (!op.getSemanticHint().equals(elementTypeHint))
- {
- return false; // if semantic hint is specified it should be the same as in element type
- }
- if (domainElement != null
- && visualID != AcoreVisualIDRegistry.getNodeVisualID(op.getContainerView(), domainElement))
- {
- return false; // visual id for node EClass should match visual id from element type
- }
- }
- else
- {
- if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(op.getContainerView())))
- {
- return false; // foreign diagram
- }
- switch (visualID)
- {
- case AInterfaceEditPart.VISUAL_ID:
- case AClassEditPart.VISUAL_ID:
- case AAttributeEditPart.VISUAL_ID:
- case AOperationEditPart.VISUAL_ID:
- case AAttribute2EditPart.VISUAL_ID:
- case AOperation2EditPart.VISUAL_ID:
- if (domainElement == null
- || visualID != AcoreVisualIDRegistry.getNodeVisualID(op.getContainerView(), domainElement))
- {
- return false; // visual id in semantic hint should match visual id for domain element
- }
- break;
- default:
- return false;
- }
- }
- }
- return AInterfaceEditPart.VISUAL_ID == visualID || AClassEditPart.VISUAL_ID == visualID
- || AAttributeEditPart.VISUAL_ID == visualID || AOperationEditPart.VISUAL_ID == visualID
- || AAttribute2EditPart.VISUAL_ID == visualID || AOperation2EditPart.VISUAL_ID == visualID;
- }
-
- /**
- * @generated
- */
- protected boolean provides(CreateEdgeViewOperation op)
- {
- IElementType elementType = getSemanticElementType(op.getSemanticAdapter());
- if (!AcoreElementTypes.isKnownElementType(elementType) || (!(elementType instanceof IHintedType)))
- {
- return false; // foreign element type
- }
- String elementTypeHint = ((IHintedType)elementType).getSemanticHint();
- if (elementTypeHint == null || (op.getSemanticHint() != null && !elementTypeHint.equals(op.getSemanticHint())))
- {
- return false; // our hint is visual id and must be specified, and it should be the same as in element type
- }
- int visualID = AcoreVisualIDRegistry.getVisualID(elementTypeHint);
- EObject domainElement = getSemanticElement(op.getSemanticAdapter());
- if (domainElement != null && visualID != AcoreVisualIDRegistry.getLinkWithClassVisualID(domainElement))
- {
- return false; // visual id for link EClass should match visual id from element type
- }
- return true;
- }
-
- /**
- * @generated
- */
- public Diagram createDiagram(IAdaptable semanticAdapter, String diagramKind, PreferencesHint preferencesHint)
- {
- Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
- diagram.getStyles().add(NotationFactory.eINSTANCE.createDiagramStyle());
- diagram.setType(ACoreRootEditPart.MODEL_ID);
- diagram.setElement(getSemanticElement(semanticAdapter));
- diagram.setMeasurementUnit(MeasurementUnit.PIXEL_LITERAL);
- return diagram;
- }
-
- /**
- * @generated
- */
- public Node createNode(IAdaptable semanticAdapter, View containerView, String semanticHint, int index,
- boolean persisted, PreferencesHint preferencesHint)
- {
- final EObject domainElement = getSemanticElement(semanticAdapter);
- final int visualID;
- if (semanticHint == null)
- {
- visualID = AcoreVisualIDRegistry.getNodeVisualID(containerView, domainElement);
- }
- else
- {
- visualID = AcoreVisualIDRegistry.getVisualID(semanticHint);
- }
- switch (visualID)
- {
- case AInterfaceEditPart.VISUAL_ID:
- return createAInterface_2001(domainElement, containerView, index, persisted, preferencesHint);
- case AClassEditPart.VISUAL_ID:
- return createAClass_2002(domainElement, containerView, index, persisted, preferencesHint);
- case AAttributeEditPart.VISUAL_ID:
- return createAAttribute_3001(domainElement, containerView, index, persisted, preferencesHint);
- case AOperationEditPart.VISUAL_ID:
- return createAOperation_3002(domainElement, containerView, index, persisted, preferencesHint);
- case AAttribute2EditPart.VISUAL_ID:
- return createAAttribute_3003(domainElement, containerView, index, persisted, preferencesHint);
- case AOperation2EditPart.VISUAL_ID:
- return createAOperation_3004(domainElement, containerView, index, persisted, preferencesHint);
- }
- // can't happen, provided #provides(CreateNodeViewOperation) is correct
- return null;
- }
-
- /**
- * @generated
- */
- public Edge createEdge(IAdaptable semanticAdapter, View containerView, String semanticHint, int index,
- boolean persisted, PreferencesHint preferencesHint)
- {
- IElementType elementType = getSemanticElementType(semanticAdapter);
- String elementTypeHint = ((IHintedType)elementType).getSemanticHint();
- switch (AcoreVisualIDRegistry.getVisualID(elementTypeHint))
- {
- case AClassSubClassesEditPart.VISUAL_ID:
- return createAClassSubClasses_4001(containerView, index, persisted, preferencesHint);
- case AClassImplementedInterfacesEditPart.VISUAL_ID:
- return createAClassImplementedInterfaces_4002(containerView, index, persisted, preferencesHint);
- case AClassAssociationsEditPart.VISUAL_ID:
- return createAClassAssociations_4003(containerView, index, persisted, preferencesHint);
- case AClassAggregationsEditPart.VISUAL_ID:
- return createAClassAggregations_4004(containerView, index, persisted, preferencesHint);
- case AClassCompositionsEditPart.VISUAL_ID:
- return createAClassCompositions_4005(containerView, index, persisted, preferencesHint);
- }
- // can never happen, provided #provides(CreateEdgeViewOperation) is correct
- return null;
- }
-
- /**
- * @generated
- */
- public Node createAInterface_2001(EObject domainElement, View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- node.getStyles().add(NotationFactory.eINSTANCE.createDescriptionStyle());
- node.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- node.getStyles().add(NotationFactory.eINSTANCE.createLineStyle());
- node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
- node.setType(AcoreVisualIDRegistry.getType(AInterfaceEditPart.VISUAL_ID));
- ViewUtil.insertChildView(containerView, node, index, persisted);
- node.setElement(domainElement);
- stampShortcut(containerView, node);
- // initializeFromPreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(node, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle nodeFontStyle = (FontStyle)node.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (nodeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- nodeFontStyle.setFontName(fontData.getName());
- nodeFontStyle.setFontHeight(fontData.getHeight());
- nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Node label5001 = createLabel(node, AcoreVisualIDRegistry.getType(AInterfaceNameEditPart.VISUAL_ID));
- createCompartment(node, AcoreVisualIDRegistry.getType(AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID),
- false, false, true, true);
- createCompartment(node, AcoreVisualIDRegistry.getType(AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID),
- false, false, true, true);
- return node;
- }
-
- /**
- * @generated
- */
- public Node createAClass_2002(EObject domainElement, View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- node.getStyles().add(NotationFactory.eINSTANCE.createDescriptionStyle());
- node.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- node.getStyles().add(NotationFactory.eINSTANCE.createLineStyle());
- node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
- node.setType(AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
- ViewUtil.insertChildView(containerView, node, index, persisted);
- node.setElement(domainElement);
- stampShortcut(containerView, node);
- // initializeFromPreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(node, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle nodeFontStyle = (FontStyle)node.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (nodeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- nodeFontStyle.setFontName(fontData.getName());
- nodeFontStyle.setFontHeight(fontData.getHeight());
- nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Node label5002 = createLabel(node, AcoreVisualIDRegistry.getType(AClassNameEditPart.VISUAL_ID));
- createCompartment(node, AcoreVisualIDRegistry.getType(AClassAAttributeCompartmentEditPart.VISUAL_ID), false, false,
- true, true);
- createCompartment(node, AcoreVisualIDRegistry.getType(AClassAOperationClassCompartmentEditPart.VISUAL_ID), false,
- false, true, true);
- return node;
- }
-
- /**
- * @generated
- */
- public Node createAAttribute_3001(EObject domainElement, View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
- node.setType(AcoreVisualIDRegistry.getType(AAttributeEditPart.VISUAL_ID));
- ViewUtil.insertChildView(containerView, node, index, persisted);
- node.setElement(domainElement);
- return node;
- }
-
- /**
- * @generated
- */
- public Node createAOperation_3002(EObject domainElement, View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
- node.setType(AcoreVisualIDRegistry.getType(AOperationEditPart.VISUAL_ID));
- ViewUtil.insertChildView(containerView, node, index, persisted);
- node.setElement(domainElement);
- return node;
- }
-
- /**
- * @generated
- */
- public Node createAAttribute_3003(EObject domainElement, View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
- node.setType(AcoreVisualIDRegistry.getType(AAttribute2EditPart.VISUAL_ID));
- ViewUtil.insertChildView(containerView, node, index, persisted);
- node.setElement(domainElement);
- return node;
- }
-
- /**
- * @generated
- */
- public Node createAOperation_3004(EObject domainElement, View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
- node.setType(AcoreVisualIDRegistry.getType(AOperation2EditPart.VISUAL_ID));
- ViewUtil.insertChildView(containerView, node, index, persisted);
- node.setElement(domainElement);
- return node;
- }
-
- /**
- * @generated
- */
- public Edge createAClassSubClasses_4001(View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Connector edge = NotationFactory.eINSTANCE.createConnector();
- edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
- ArrayList points = new ArrayList(2);
- points.add(new RelativeBendpoint());
- points.add(new RelativeBendpoint());
- bendpoints.setPoints(points);
- edge.setBendpoints(bendpoints);
- ViewUtil.insertChildView(containerView, edge, index, persisted);
- edge.setType(AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
- edge.setElement(null);
- // initializePreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (edgeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- edgeFontStyle.setFontName(fontData.getName());
- edgeFontStyle.setFontHeight(fontData.getHeight());
- edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
- if (routing != null)
- {
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
- }
- return edge;
- }
-
- /**
- * @generated
- */
- public Edge createAClassImplementedInterfaces_4002(View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Connector edge = NotationFactory.eINSTANCE.createConnector();
- edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
- ArrayList points = new ArrayList(2);
- points.add(new RelativeBendpoint());
- points.add(new RelativeBendpoint());
- bendpoints.setPoints(points);
- edge.setBendpoints(bendpoints);
- ViewUtil.insertChildView(containerView, edge, index, persisted);
- edge.setType(AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
- edge.setElement(null);
- // initializePreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (edgeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- edgeFontStyle.setFontName(fontData.getName());
- edgeFontStyle.setFontHeight(fontData.getHeight());
- edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
- if (routing != null)
- {
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
- }
- return edge;
- }
-
- /**
- * @generated
- */
- public Edge createAClassAssociations_4003(View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Connector edge = NotationFactory.eINSTANCE.createConnector();
- edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
- ArrayList points = new ArrayList(2);
- points.add(new RelativeBendpoint());
- points.add(new RelativeBendpoint());
- bendpoints.setPoints(points);
- edge.setBendpoints(bendpoints);
- ViewUtil.insertChildView(containerView, edge, index, persisted);
- edge.setType(AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
- edge.setElement(null);
- // initializePreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (edgeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- edgeFontStyle.setFontName(fontData.getName());
- edgeFontStyle.setFontHeight(fontData.getHeight());
- edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
- if (routing != null)
- {
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
- }
- return edge;
- }
-
- /**
- * @generated
- */
- public Edge createAClassAggregations_4004(View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Connector edge = NotationFactory.eINSTANCE.createConnector();
- edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
- ArrayList points = new ArrayList(2);
- points.add(new RelativeBendpoint());
- points.add(new RelativeBendpoint());
- bendpoints.setPoints(points);
- edge.setBendpoints(bendpoints);
- ViewUtil.insertChildView(containerView, edge, index, persisted);
- edge.setType(AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
- edge.setElement(null);
- // initializePreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (edgeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- edgeFontStyle.setFontName(fontData.getName());
- edgeFontStyle.setFontHeight(fontData.getHeight());
- edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
- if (routing != null)
- {
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
- }
- return edge;
- }
-
- /**
- * @generated
- */
- public Edge createAClassCompositions_4005(View containerView, int index, boolean persisted,
- PreferencesHint preferencesHint)
- {
- Connector edge = NotationFactory.eINSTANCE.createConnector();
- edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
- RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
- ArrayList points = new ArrayList(2);
- points.add(new RelativeBendpoint());
- points.add(new RelativeBendpoint());
- bendpoints.setPoints(points);
- edge.setBendpoints(bendpoints);
- ViewUtil.insertChildView(containerView, edge, index, persisted);
- edge.setType(AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
- edge.setElement(null);
- // initializePreferences
- final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
-
- org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
- .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
- FigureUtilities.RGBToInteger(lineRGB));
- FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
- if (edgeFontStyle != null)
- {
- FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
- edgeFontStyle.setFontName(fontData.getName());
- edgeFontStyle.setFontHeight(fontData.getHeight());
- edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
- edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
- org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
- IPreferenceConstants.PREF_FONT_COLOR);
- edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
- }
- Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
- if (routing != null)
- {
- ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
- }
- return edge;
- }
-
- /**
- * @generated
- */
- private void stampShortcut(View containerView, Node target)
- {
- if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(containerView)))
- {
- EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
- shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$
- shortcutAnnotation.getDetails().put("modelID", ACoreRootEditPart.MODEL_ID); //$NON-NLS-1$
- target.getEAnnotations().add(shortcutAnnotation);
- }
- }
-
- /**
- * @generated
- */
- private Node createLabel(View owner, String hint)
- {
- DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode();
- rv.setType(hint);
- ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
- return rv;
- }
-
- /**
- * @generated
- */
- private Node createCompartment(View owner, String hint, boolean canCollapse, boolean hasTitle, boolean canSort,
- boolean canFilter)
- {
- // SemanticListCompartment rv = NotationFactory.eINSTANCE.createSemanticListCompartment();
- // rv.setShowTitle(showTitle);
- // rv.setCollapsed(isCollapsed);
- Node rv;
- if (canCollapse)
- {
- rv = NotationFactory.eINSTANCE.createBasicCompartment();
- }
- else
- {
- rv = NotationFactory.eINSTANCE.createDecorationNode();
- }
- if (hasTitle)
- {
- TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle();
- ts.setShowTitle(true);
- rv.getStyles().add(ts);
- }
- if (canSort)
- {
- rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle());
- }
- if (canFilter)
- {
- rv.getStyles().add(NotationFactory.eINSTANCE.createFilteringStyle());
- }
- rv.setType(hint);
- ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
- return rv;
- }
-
- /**
- * @generated
- */
- private EObject getSemanticElement(IAdaptable semanticAdapter)
- {
- if (semanticAdapter == null)
- {
- return null;
- }
- EObject eObject = (EObject)semanticAdapter.getAdapter(EObject.class);
- if (eObject != null)
- {
- return EMFCoreUtil.resolve(TransactionUtil.getEditingDomain(eObject), eObject);
- }
- return null;
- }
-
- /**
- * @generated
- */
- private IElementType getSemanticElementType(IAdaptable semanticAdapter)
- {
- if (semanticAdapter == null)
- {
- return null;
- }
- return (IElementType)semanticAdapter.getAdapter(IElementType.class);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttribute2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AAttributeEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAAttributeCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAOperationClassCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.ACoreRootEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAAttributeInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceAOperationInterfaceCompartmentEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceNameEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperation2EditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AOperationEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
+import org.eclipse.gmf.runtime.common.core.service.IOperation;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateDiagramViewOperation;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateEdgeViewOperation;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateNodeViewOperation;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateViewForKindOperation;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateViewOperation;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.MeasurementUnit;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.FontData;
+
+import java.util.ArrayList;
+
+/**
+ * @generated
+ */
+public class AcoreViewProvider extends AbstractProvider implements IViewProvider
+{
+
+ /**
+ * @generated
+ */
+ public final boolean provides(IOperation operation)
+ {
+ if (operation instanceof CreateViewForKindOperation)
+ {
+ return provides((CreateViewForKindOperation)operation);
+ }
+ assert operation instanceof CreateViewOperation;
+ if (operation instanceof CreateDiagramViewOperation)
+ {
+ return provides((CreateDiagramViewOperation)operation);
+ }
+ else if (operation instanceof CreateEdgeViewOperation)
+ {
+ return provides((CreateEdgeViewOperation)operation);
+ }
+ else if (operation instanceof CreateNodeViewOperation)
+ {
+ return provides((CreateNodeViewOperation)operation);
+ }
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean provides(CreateViewForKindOperation op)
+ {
+ /*
+ * if (op.getViewKind() == Node.class) return getNodeViewClass(op.getSemanticAdapter(), op.getContainerView(),
+ * op.getSemanticHint()) != null; if (op.getViewKind() == Edge.class) return
+ * getEdgeViewClass(op.getSemanticAdapter(), op.getContainerView(), op.getSemanticHint()) != null;
+ */
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean provides(CreateDiagramViewOperation op)
+ {
+ return ACoreRootEditPart.MODEL_ID.equals(op.getSemanticHint())
+ && AcoreVisualIDRegistry.getDiagramVisualID(getSemanticElement(op.getSemanticAdapter())) != -1;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean provides(CreateNodeViewOperation op)
+ {
+ if (op.getContainerView() == null)
+ {
+ return false;
+ }
+ IElementType elementType = getSemanticElementType(op.getSemanticAdapter());
+ EObject domainElement = getSemanticElement(op.getSemanticAdapter());
+ int visualID;
+ if (op.getSemanticHint() == null)
+ {
+ // Semantic hint is not specified. Can be a result of call from CanonicalEditPolicy.
+ // In this situation there should be NO elementType, visualID will be determined
+ // by VisualIDRegistry.getNodeVisualID() for domainElement.
+ if (elementType != null || domainElement == null)
+ {
+ return false;
+ }
+ visualID = AcoreVisualIDRegistry.getNodeVisualID(op.getContainerView(), domainElement);
+ }
+ else
+ {
+ visualID = AcoreVisualIDRegistry.getVisualID(op.getSemanticHint());
+ if (elementType != null)
+ {
+ if (!AcoreElementTypes.isKnownElementType(elementType) || (!(elementType instanceof IHintedType)))
+ {
+ return false; // foreign element type
+ }
+ String elementTypeHint = ((IHintedType)elementType).getSemanticHint();
+ if (!op.getSemanticHint().equals(elementTypeHint))
+ {
+ return false; // if semantic hint is specified it should be the same as in element type
+ }
+ if (domainElement != null
+ && visualID != AcoreVisualIDRegistry.getNodeVisualID(op.getContainerView(), domainElement))
+ {
+ return false; // visual id for node EClass should match visual id from element type
+ }
+ }
+ else
+ {
+ if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(op.getContainerView())))
+ {
+ return false; // foreign diagram
+ }
+ switch (visualID)
+ {
+ case AInterfaceEditPart.VISUAL_ID:
+ case AClassEditPart.VISUAL_ID:
+ case AAttributeEditPart.VISUAL_ID:
+ case AOperationEditPart.VISUAL_ID:
+ case AAttribute2EditPart.VISUAL_ID:
+ case AOperation2EditPart.VISUAL_ID:
+ if (domainElement == null
+ || visualID != AcoreVisualIDRegistry.getNodeVisualID(op.getContainerView(), domainElement))
+ {
+ return false; // visual id in semantic hint should match visual id for domain element
+ }
+ break;
+ default:
+ return false;
+ }
+ }
+ }
+ return AInterfaceEditPart.VISUAL_ID == visualID || AClassEditPart.VISUAL_ID == visualID
+ || AAttributeEditPart.VISUAL_ID == visualID || AOperationEditPart.VISUAL_ID == visualID
+ || AAttribute2EditPart.VISUAL_ID == visualID || AOperation2EditPart.VISUAL_ID == visualID;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean provides(CreateEdgeViewOperation op)
+ {
+ IElementType elementType = getSemanticElementType(op.getSemanticAdapter());
+ if (!AcoreElementTypes.isKnownElementType(elementType) || (!(elementType instanceof IHintedType)))
+ {
+ return false; // foreign element type
+ }
+ String elementTypeHint = ((IHintedType)elementType).getSemanticHint();
+ if (elementTypeHint == null || (op.getSemanticHint() != null && !elementTypeHint.equals(op.getSemanticHint())))
+ {
+ return false; // our hint is visual id and must be specified, and it should be the same as in element type
+ }
+ int visualID = AcoreVisualIDRegistry.getVisualID(elementTypeHint);
+ EObject domainElement = getSemanticElement(op.getSemanticAdapter());
+ if (domainElement != null && visualID != AcoreVisualIDRegistry.getLinkWithClassVisualID(domainElement))
+ {
+ return false; // visual id for link EClass should match visual id from element type
+ }
+ return true;
+ }
+
+ /**
+ * @generated
+ */
+ public Diagram createDiagram(IAdaptable semanticAdapter, String diagramKind, PreferencesHint preferencesHint)
+ {
+ Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
+ diagram.getStyles().add(NotationFactory.eINSTANCE.createDiagramStyle());
+ diagram.setType(ACoreRootEditPart.MODEL_ID);
+ diagram.setElement(getSemanticElement(semanticAdapter));
+ diagram.setMeasurementUnit(MeasurementUnit.PIXEL_LITERAL);
+ return diagram;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createNode(IAdaptable semanticAdapter, View containerView, String semanticHint, int index,
+ boolean persisted, PreferencesHint preferencesHint)
+ {
+ final EObject domainElement = getSemanticElement(semanticAdapter);
+ final int visualID;
+ if (semanticHint == null)
+ {
+ visualID = AcoreVisualIDRegistry.getNodeVisualID(containerView, domainElement);
+ }
+ else
+ {
+ visualID = AcoreVisualIDRegistry.getVisualID(semanticHint);
+ }
+ switch (visualID)
+ {
+ case AInterfaceEditPart.VISUAL_ID:
+ return createAInterface_2001(domainElement, containerView, index, persisted, preferencesHint);
+ case AClassEditPart.VISUAL_ID:
+ return createAClass_2002(domainElement, containerView, index, persisted, preferencesHint);
+ case AAttributeEditPart.VISUAL_ID:
+ return createAAttribute_3001(domainElement, containerView, index, persisted, preferencesHint);
+ case AOperationEditPart.VISUAL_ID:
+ return createAOperation_3002(domainElement, containerView, index, persisted, preferencesHint);
+ case AAttribute2EditPart.VISUAL_ID:
+ return createAAttribute_3003(domainElement, containerView, index, persisted, preferencesHint);
+ case AOperation2EditPart.VISUAL_ID:
+ return createAOperation_3004(domainElement, containerView, index, persisted, preferencesHint);
+ }
+ // can't happen, provided #provides(CreateNodeViewOperation) is correct
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public Edge createEdge(IAdaptable semanticAdapter, View containerView, String semanticHint, int index,
+ boolean persisted, PreferencesHint preferencesHint)
+ {
+ IElementType elementType = getSemanticElementType(semanticAdapter);
+ String elementTypeHint = ((IHintedType)elementType).getSemanticHint();
+ switch (AcoreVisualIDRegistry.getVisualID(elementTypeHint))
+ {
+ case AClassSubClassesEditPart.VISUAL_ID:
+ return createAClassSubClasses_4001(containerView, index, persisted, preferencesHint);
+ case AClassImplementedInterfacesEditPart.VISUAL_ID:
+ return createAClassImplementedInterfaces_4002(containerView, index, persisted, preferencesHint);
+ case AClassAssociationsEditPart.VISUAL_ID:
+ return createAClassAssociations_4003(containerView, index, persisted, preferencesHint);
+ case AClassAggregationsEditPart.VISUAL_ID:
+ return createAClassAggregations_4004(containerView, index, persisted, preferencesHint);
+ case AClassCompositionsEditPart.VISUAL_ID:
+ return createAClassCompositions_4005(containerView, index, persisted, preferencesHint);
+ }
+ // can never happen, provided #provides(CreateEdgeViewOperation) is correct
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createAInterface_2001(EObject domainElement, View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ node.getStyles().add(NotationFactory.eINSTANCE.createDescriptionStyle());
+ node.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ node.getStyles().add(NotationFactory.eINSTANCE.createLineStyle());
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ node.setType(AcoreVisualIDRegistry.getType(AInterfaceEditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ stampShortcut(containerView, node);
+ // initializeFromPreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(node, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle nodeFontStyle = (FontStyle)node.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (nodeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ nodeFontStyle.setFontName(fontData.getName());
+ nodeFontStyle.setFontHeight(fontData.getHeight());
+ nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Node label5001 = createLabel(node, AcoreVisualIDRegistry.getType(AInterfaceNameEditPart.VISUAL_ID));
+ createCompartment(node, AcoreVisualIDRegistry.getType(AInterfaceAAttributeInterfaceCompartmentEditPart.VISUAL_ID),
+ false, false, true, true);
+ createCompartment(node, AcoreVisualIDRegistry.getType(AInterfaceAOperationInterfaceCompartmentEditPart.VISUAL_ID),
+ false, false, true, true);
+ return node;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createAClass_2002(EObject domainElement, View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ node.getStyles().add(NotationFactory.eINSTANCE.createDescriptionStyle());
+ node.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ node.getStyles().add(NotationFactory.eINSTANCE.createLineStyle());
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ node.setType(AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ stampShortcut(containerView, node);
+ // initializeFromPreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(node, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle nodeFontStyle = (FontStyle)node.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (nodeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ nodeFontStyle.setFontName(fontData.getName());
+ nodeFontStyle.setFontHeight(fontData.getHeight());
+ nodeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ nodeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ nodeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Node label5002 = createLabel(node, AcoreVisualIDRegistry.getType(AClassNameEditPart.VISUAL_ID));
+ createCompartment(node, AcoreVisualIDRegistry.getType(AClassAAttributeCompartmentEditPart.VISUAL_ID), false, false,
+ true, true);
+ createCompartment(node, AcoreVisualIDRegistry.getType(AClassAOperationClassCompartmentEditPart.VISUAL_ID), false,
+ false, true, true);
+ return node;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createAAttribute_3001(EObject domainElement, View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ node.setType(AcoreVisualIDRegistry.getType(AAttributeEditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ return node;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createAOperation_3002(EObject domainElement, View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ node.setType(AcoreVisualIDRegistry.getType(AOperationEditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ return node;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createAAttribute_3003(EObject domainElement, View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ node.setType(AcoreVisualIDRegistry.getType(AAttribute2EditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ return node;
+ }
+
+ /**
+ * @generated
+ */
+ public Node createAOperation_3004(EObject domainElement, View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ node.setType(AcoreVisualIDRegistry.getType(AOperation2EditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ return node;
+ }
+
+ /**
+ * @generated
+ */
+ public Edge createAClassSubClasses_4001(View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Connector edge = NotationFactory.eINSTANCE.createConnector();
+ edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+ ArrayList points = new ArrayList(2);
+ points.add(new RelativeBendpoint());
+ points.add(new RelativeBendpoint());
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ ViewUtil.insertChildView(containerView, edge, index, persisted);
+ edge.setType(AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID));
+ edge.setElement(null);
+ // initializePreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (edgeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ edgeFontStyle.setFontName(fontData.getName());
+ edgeFontStyle.setFontHeight(fontData.getHeight());
+ edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
+ if (routing != null)
+ {
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
+ }
+ return edge;
+ }
+
+ /**
+ * @generated
+ */
+ public Edge createAClassImplementedInterfaces_4002(View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Connector edge = NotationFactory.eINSTANCE.createConnector();
+ edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+ ArrayList points = new ArrayList(2);
+ points.add(new RelativeBendpoint());
+ points.add(new RelativeBendpoint());
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ ViewUtil.insertChildView(containerView, edge, index, persisted);
+ edge.setType(AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID));
+ edge.setElement(null);
+ // initializePreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (edgeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ edgeFontStyle.setFontName(fontData.getName());
+ edgeFontStyle.setFontHeight(fontData.getHeight());
+ edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
+ if (routing != null)
+ {
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
+ }
+ return edge;
+ }
+
+ /**
+ * @generated
+ */
+ public Edge createAClassAssociations_4003(View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Connector edge = NotationFactory.eINSTANCE.createConnector();
+ edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+ ArrayList points = new ArrayList(2);
+ points.add(new RelativeBendpoint());
+ points.add(new RelativeBendpoint());
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ ViewUtil.insertChildView(containerView, edge, index, persisted);
+ edge.setType(AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID));
+ edge.setElement(null);
+ // initializePreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (edgeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ edgeFontStyle.setFontName(fontData.getName());
+ edgeFontStyle.setFontHeight(fontData.getHeight());
+ edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
+ if (routing != null)
+ {
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
+ }
+ return edge;
+ }
+
+ /**
+ * @generated
+ */
+ public Edge createAClassAggregations_4004(View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Connector edge = NotationFactory.eINSTANCE.createConnector();
+ edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+ ArrayList points = new ArrayList(2);
+ points.add(new RelativeBendpoint());
+ points.add(new RelativeBendpoint());
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ ViewUtil.insertChildView(containerView, edge, index, persisted);
+ edge.setType(AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID));
+ edge.setElement(null);
+ // initializePreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (edgeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ edgeFontStyle.setFontName(fontData.getName());
+ edgeFontStyle.setFontHeight(fontData.getHeight());
+ edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
+ if (routing != null)
+ {
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
+ }
+ return edge;
+ }
+
+ /**
+ * @generated
+ */
+ public Edge createAClassCompositions_4005(View containerView, int index, boolean persisted,
+ PreferencesHint preferencesHint)
+ {
+ Connector edge = NotationFactory.eINSTANCE.createConnector();
+ edge.getStyles().add(NotationFactory.eINSTANCE.createFontStyle());
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+ ArrayList points = new ArrayList(2);
+ points.add(new RelativeBendpoint());
+ points.add(new RelativeBendpoint());
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ ViewUtil.insertChildView(containerView, edge, index, persisted);
+ edge.setType(AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID));
+ edge.setElement(null);
+ // initializePreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+
+ org.eclipse.swt.graphics.RGB lineRGB = PreferenceConverter
+ .getColor(prefStore, IPreferenceConstants.PREF_LINE_COLOR);
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getLineStyle_LineColor(),
+ FigureUtilities.RGBToInteger(lineRGB));
+ FontStyle edgeFontStyle = (FontStyle)edge.getStyle(NotationPackage.Literals.FONT_STYLE);
+ if (edgeFontStyle != null)
+ {
+ FontData fontData = PreferenceConverter.getFontData(prefStore, IPreferenceConstants.PREF_DEFAULT_FONT);
+ edgeFontStyle.setFontName(fontData.getName());
+ edgeFontStyle.setFontHeight(fontData.getHeight());
+ edgeFontStyle.setBold((fontData.getStyle() & SWT.BOLD) != 0);
+ edgeFontStyle.setItalic((fontData.getStyle() & SWT.ITALIC) != 0);
+ org.eclipse.swt.graphics.RGB fontRGB = PreferenceConverter.getColor(prefStore,
+ IPreferenceConstants.PREF_FONT_COLOR);
+ edgeFontStyle.setFontColor(FigureUtilities.RGBToInteger(fontRGB).intValue());
+ }
+ Routing routing = Routing.get(prefStore.getInt(IPreferenceConstants.PREF_LINE_STYLE));
+ if (routing != null)
+ {
+ ViewUtil.setStructuralFeatureValue(edge, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), routing);
+ }
+ return edge;
+ }
+
+ /**
+ * @generated
+ */
+ private void stampShortcut(View containerView, Node target)
+ {
+ if (!ACoreRootEditPart.MODEL_ID.equals(AcoreVisualIDRegistry.getModelID(containerView)))
+ {
+ EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$
+ shortcutAnnotation.getDetails().put("modelID", ACoreRootEditPart.MODEL_ID); //$NON-NLS-1$
+ target.getEAnnotations().add(shortcutAnnotation);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ private Node createLabel(View owner, String hint)
+ {
+ DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode();
+ rv.setType(hint);
+ ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+ return rv;
+ }
+
+ /**
+ * @generated
+ */
+ private Node createCompartment(View owner, String hint, boolean canCollapse, boolean hasTitle, boolean canSort,
+ boolean canFilter)
+ {
+ // SemanticListCompartment rv = NotationFactory.eINSTANCE.createSemanticListCompartment();
+ // rv.setShowTitle(showTitle);
+ // rv.setCollapsed(isCollapsed);
+ Node rv;
+ if (canCollapse)
+ {
+ rv = NotationFactory.eINSTANCE.createBasicCompartment();
+ }
+ else
+ {
+ rv = NotationFactory.eINSTANCE.createDecorationNode();
+ }
+ if (hasTitle)
+ {
+ TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle();
+ ts.setShowTitle(true);
+ rv.getStyles().add(ts);
+ }
+ if (canSort)
+ {
+ rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle());
+ }
+ if (canFilter)
+ {
+ rv.getStyles().add(NotationFactory.eINSTANCE.createFilteringStyle());
+ }
+ rv.setType(hint);
+ ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+ return rv;
+ }
+
+ /**
+ * @generated
+ */
+ private EObject getSemanticElement(IAdaptable semanticAdapter)
+ {
+ if (semanticAdapter == null)
+ {
+ return null;
+ }
+ EObject eObject = (EObject)semanticAdapter.getAdapter(EObject.class);
+ if (eObject != null)
+ {
+ return EMFCoreUtil.resolve(TransactionUtil.getEditingDomain(eObject), eObject);
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ private IElementType getSemanticElementType(IAdaptable semanticAdapter)
+ {
+ if (semanticAdapter == null)
+ {
+ return null;
+ }
+ return (IElementType)semanticAdapter.getAdapter(IElementType.class);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/ElementInitializers.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/ElementInitializers.java
index b4a3400657..275e542908 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/ElementInitializers.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/providers/ElementInitializers.java
@@ -1,20 +1,20 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
-
-/**
- * @generated
- */
-public class ElementInitializers
-{
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers;
+
+/**
+ * @generated
+ */
+public class ElementInitializers
+{
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcorePropertySection.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcorePropertySection.java
index 5594a39abd..48f964ec0d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcorePropertySection.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcorePropertySection.java
@@ -1,141 +1,141 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.ui.provider.PropertySource;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.ui.properties.sections.AdvancedPropertySection;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- * @generated
- */
-public class AcorePropertySection extends AdvancedPropertySection implements IPropertySourceProvider
-{
-
- /**
- * @generated
- */
- public IPropertySource getPropertySource(Object object)
- {
- if (object instanceof IPropertySource)
- {
- return (IPropertySource)object;
- }
- AdapterFactory af = getAdapterFactory(object);
- if (af != null)
- {
- IItemPropertySource ips = (IItemPropertySource)af.adapt(object, IItemPropertySource.class);
- if (ips != null)
- {
- return new PropertySource(object, ips);
- }
- }
- if (object instanceof IAdaptable)
- {
- return (IPropertySource)((IAdaptable)object).getAdapter(IPropertySource.class);
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected IPropertySourceProvider getPropertySourceProvider()
- {
- return this;
- }
-
- /**
- * Modify/unwrap selection.
- *
- * @generated
- */
- protected Object transformSelection(Object selected)
- {
-
- if (selected instanceof EditPart)
- {
- Object model = ((EditPart)selected).getModel();
- return model instanceof View ? ((View)model).getElement() : null;
- }
- if (selected instanceof View)
- {
- return ((View)selected).getElement();
- }
- if (selected instanceof IAdaptable)
- {
- View view = (View)((IAdaptable)selected).getAdapter(View.class);
- if (view != null)
- {
- return view.getElement();
- }
- }
- return selected;
- }
-
- /**
- * @generated
- */
- public void setInput(IWorkbenchPart part, ISelection selection)
- {
- if (selection.isEmpty() || false == selection instanceof StructuredSelection)
- {
- super.setInput(part, selection);
- return;
- }
- final StructuredSelection structuredSelection = ((StructuredSelection)selection);
- ArrayList transformedSelection = new ArrayList(structuredSelection.size());
- for (Iterator it = structuredSelection.iterator(); it.hasNext();)
- {
- Object r = transformSelection(it.next());
- if (r != null)
- {
- transformedSelection.add(r);
- }
- }
- super.setInput(part, new StructuredSelection(transformedSelection));
- }
-
- /**
- * @generated
- */
- protected AdapterFactory getAdapterFactory(Object object)
- {
- if (getEditingDomain() instanceof AdapterFactoryEditingDomain)
- {
- return ((AdapterFactoryEditingDomain)getEditingDomain()).getAdapterFactory();
- }
- TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(object);
- if (editingDomain != null)
- {
- return ((AdapterFactoryEditingDomain)editingDomain).getAdapterFactory();
- }
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.ui.provider.PropertySource;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.properties.sections.AdvancedPropertySection;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.eclipse.ui.views.properties.IPropertySourceProvider;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+/**
+ * @generated
+ */
+public class AcorePropertySection extends AdvancedPropertySection implements IPropertySourceProvider
+{
+
+ /**
+ * @generated
+ */
+ public IPropertySource getPropertySource(Object object)
+ {
+ if (object instanceof IPropertySource)
+ {
+ return (IPropertySource)object;
+ }
+ AdapterFactory af = getAdapterFactory(object);
+ if (af != null)
+ {
+ IItemPropertySource ips = (IItemPropertySource)af.adapt(object, IItemPropertySource.class);
+ if (ips != null)
+ {
+ return new PropertySource(object, ips);
+ }
+ }
+ if (object instanceof IAdaptable)
+ {
+ return (IPropertySource)((IAdaptable)object).getAdapter(IPropertySource.class);
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ protected IPropertySourceProvider getPropertySourceProvider()
+ {
+ return this;
+ }
+
+ /**
+ * Modify/unwrap selection.
+ *
+ * @generated
+ */
+ protected Object transformSelection(Object selected)
+ {
+
+ if (selected instanceof EditPart)
+ {
+ Object model = ((EditPart)selected).getModel();
+ return model instanceof View ? ((View)model).getElement() : null;
+ }
+ if (selected instanceof View)
+ {
+ return ((View)selected).getElement();
+ }
+ if (selected instanceof IAdaptable)
+ {
+ View view = (View)((IAdaptable)selected).getAdapter(View.class);
+ if (view != null)
+ {
+ return view.getElement();
+ }
+ }
+ return selected;
+ }
+
+ /**
+ * @generated
+ */
+ public void setInput(IWorkbenchPart part, ISelection selection)
+ {
+ if (selection.isEmpty() || false == selection instanceof StructuredSelection)
+ {
+ super.setInput(part, selection);
+ return;
+ }
+ final StructuredSelection structuredSelection = ((StructuredSelection)selection);
+ ArrayList transformedSelection = new ArrayList(structuredSelection.size());
+ for (Iterator it = structuredSelection.iterator(); it.hasNext();)
+ {
+ Object r = transformSelection(it.next());
+ if (r != null)
+ {
+ transformedSelection.add(r);
+ }
+ }
+ super.setInput(part, new StructuredSelection(transformedSelection));
+ }
+
+ /**
+ * @generated
+ */
+ protected AdapterFactory getAdapterFactory(Object object)
+ {
+ if (getEditingDomain() instanceof AdapterFactoryEditingDomain)
+ {
+ return ((AdapterFactoryEditingDomain)getEditingDomain()).getAdapterFactory();
+ }
+ TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(object);
+ if (editingDomain != null)
+ {
+ return ((AdapterFactoryEditingDomain)editingDomain).getAdapterFactory();
+ }
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcoreSheetLabelProvider.java b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcoreSheetLabelProvider.java
index 822b80aac1..4733bbae9c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcoreSheetLabelProvider.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.examples.acore.diagram/src/org/eclipse/emf/cdo/dawn/examples/acore/diagram/sheet/AcoreSheetLabelProvider.java
@@ -1,102 +1,102 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- *
- */
-package org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.BaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @generated
- */
-public class AcoreSheetLabelProvider extends BaseLabelProvider implements ILabelProvider
-{
-
- /**
- * @generated
- */
- public String getText(Object element)
- {
- element = unwrap(element);
- if (element instanceof AcoreNavigatorGroup)
- {
- return ((AcoreNavigatorGroup)element).getGroupName();
- }
- IElementType etype = getElementType(getView(element));
- return etype == null ? "" : etype.getDisplayName();
- }
-
- /**
- * @generated
- */
- public Image getImage(Object element)
- {
- IElementType etype = getElementType(getView(unwrap(element)));
- return etype == null ? null : AcoreElementTypes.getImage(etype);
- }
-
- /**
- * @generated
- */
- private Object unwrap(Object element)
- {
- if (element instanceof IStructuredSelection)
- {
- return ((IStructuredSelection)element).getFirstElement();
- }
- return element;
- }
-
- /**
- * @generated
- */
- private View getView(Object element)
- {
- if (element instanceof View)
- {
- return (View)element;
- }
- if (element instanceof IAdaptable)
- {
- return (View)((IAdaptable)element).getAdapter(View.class);
- }
- return null;
- }
-
- /**
- * @generated
- */
- private IElementType getElementType(View view)
- {
- // For intermediate views climb up the containment hierarchy to find the one associated with an element type.
- while (view != null)
- {
- int vid = AcoreVisualIDRegistry.getVisualID(view);
- IElementType etype = AcoreElementTypes.getElementType(vid);
- if (etype != null)
- {
- return etype;
- }
- view = view.eContainer() instanceof View ? (View)view.eContainer() : null;
- }
- return null;
- }
-
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ *
+ */
+package org.eclipse.emf.cdo.dawn.examples.acore.diagram.sheet;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.navigator.AcoreNavigatorGroup;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.BaseLabelProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * @generated
+ */
+public class AcoreSheetLabelProvider extends BaseLabelProvider implements ILabelProvider
+{
+
+ /**
+ * @generated
+ */
+ public String getText(Object element)
+ {
+ element = unwrap(element);
+ if (element instanceof AcoreNavigatorGroup)
+ {
+ return ((AcoreNavigatorGroup)element).getGroupName();
+ }
+ IElementType etype = getElementType(getView(element));
+ return etype == null ? "" : etype.getDisplayName();
+ }
+
+ /**
+ * @generated
+ */
+ public Image getImage(Object element)
+ {
+ IElementType etype = getElementType(getView(unwrap(element)));
+ return etype == null ? null : AcoreElementTypes.getImage(etype);
+ }
+
+ /**
+ * @generated
+ */
+ private Object unwrap(Object element)
+ {
+ if (element instanceof IStructuredSelection)
+ {
+ return ((IStructuredSelection)element).getFirstElement();
+ }
+ return element;
+ }
+
+ /**
+ * @generated
+ */
+ private View getView(Object element)
+ {
+ if (element instanceof View)
+ {
+ return (View)element;
+ }
+ if (element instanceof IAdaptable)
+ {
+ return (View)((IAdaptable)element).getAdapter(View.class);
+ }
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ private IElementType getElementType(View view)
+ {
+ // For intermediate views climb up the containment hierarchy to find the one associated with an element type.
+ while (view != null)
+ {
+ int vid = AcoreVisualIDRegistry.getVisualID(view);
+ IElementType etype = AcoreElementTypes.getElementType(vid);
+ if (etype != null)
+ {
+ return etype;
+ }
+ view = view.eContainer() instanceof View ? (View)view.eContainer() : null;
+ }
+ return null;
+ }
+
+}

Back to the top